7

所以,如果我有一个JMenu&JMenuBar定义这样:

jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu1.setText("About");
jMenuBar1.add(jMenu1);

// Finally
setJMenuBar(jMenuBar1);

并且菜单“关于”与菜单栏的最左侧对齐。无论如何我可以在菜单栏的最右侧对齐这个菜单吗?

4

4 回答 4

30

有一个可用的补丁:

jMenuBar.add(Box.createHorizontalGlue());

在将菜单添加到菜单栏之前添加此行,您的菜单将出现在菜单栏的右侧。就像是:

.....
jMenu1.setText("About");
jMenuBar1.add(Box.createHorizontalGlue()); <-- horizontal glue
jMenuBar1.add(jMenu1);
.....
于 2011-12-19T11:47:57.063 回答
5
jMenuBar1.add(Box.createHorizontalGlue());

JMenu并且不要忘记JMenuItem对齐

JMenu.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
于 2011-12-19T11:53:59.270 回答
2

正如 mKorbel 所说,JMenu它可以JMenuBar像这样工作:

    jMenuBar1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
于 2014-02-25T16:25:45.107 回答
0

您可以参考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

于 2016-06-02T09:11:44.067 回答