所以,如果我有JMenu
& JMenuBar
定义如下:
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu1.setText("About");
jMenuBar1.add(jMenu1);
// Finally
setJMenuBar(jMenuBar1);
并且菜单“关于”菜单对齐到菜单栏的最左侧。无论如何,我可以在菜单栏的最右侧对齐此菜单吗?
答案 0 :(得分:28)
有一个可用的补丁:
jMenuBar.add(Box.createHorizontalGlue());
在将菜单添加到菜单栏之前添加此行,菜单将位于菜单栏的右侧。类似的东西:
.....
jMenu1.setText("About");
jMenuBar1.add(Box.createHorizontalGlue()); <-- horizontal glue
jMenuBar1.add(jMenu1);
.....
答案 1 :(得分:6)
jMenuBar1.add(Box.createHorizontalGlue());
并且不要忘记alignt JMenu
JMenuItem
JMenu.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
答案 2 :(得分:2)
正如mKorbel所说的JMenu
它适用于这样的JMenuBar
:
jMenuBar1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
答案 3 :(得分:0)
您可以参考https://docs.oracle.com/javase/tutorial/uiswing/layout/box.html
特别注意部分
通过在左右框中的两个组件之间放置水平胶水,可以在这些组件之间留出任何额外的空间