所以,如果我有一个JMenu
&JMenuBar
定义这样:
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu1.setText("About");
jMenuBar1.add(jMenu1);
// Finally
setJMenuBar(jMenuBar1);
并且菜单“关于”与菜单栏的最左侧对齐。无论如何我可以在菜单栏的最右侧对齐这个菜单吗?
有一个可用的补丁:
jMenuBar.add(Box.createHorizontalGlue());
在将菜单添加到菜单栏之前添加此行,您的菜单将出现在菜单栏的右侧。就像是:
.....
jMenu1.setText("About");
jMenuBar1.add(Box.createHorizontalGlue()); <-- horizontal glue
jMenuBar1.add(jMenu1);
.....
jMenuBar1.add(Box.createHorizontalGlue());
JMenu
并且不要忘记JMenuItem
对齐
JMenu.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
正如 mKorbel 所说,JMenu
它可以JMenuBar
像这样工作:
jMenuBar1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
您可以参考https://docs.oracle.com/javase/tutorial/uiswing/layout/box.html
特别记下部分
by putting horizontal glue between two components in a left-to-right box, you make any extra space go between those components