在Java Swing中将JMenu对齐JMenuBar的右下角

Joh*_*dep 7 java swing jmenubar jmenu

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

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

// Finally
setJMenuBar(jMenuBar1);
Run Code Online (Sandbox Code Playgroud)

并且菜单"关于"菜单与菜单栏的最左侧对齐.无论如何,我可以在菜单栏的最右侧对齐此菜单吗?

Har*_*Joy 28

有一个补丁可用于此:

jMenuBar.add(Box.createHorizontalGlue());
Run Code Online (Sandbox Code Playgroud)

在将菜单添加到菜单栏之前添加此行,菜单将位于菜单栏的右侧.就像是:

.....
jMenu1.setText("About");
jMenuBar1.add(Box.createHorizontalGlue()); <-- horizontal glue
jMenuBar1.add(jMenu1);
.....
Run Code Online (Sandbox Code Playgroud)


mKo*_*bel 6

jMenuBar1.add(Box.createHorizontalGlue());
Run Code Online (Sandbox Code Playgroud)

不要忘记alignt JMenuJMenuItem

JMenu.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
Run Code Online (Sandbox Code Playgroud)