Выравнивание JMenu в правом углу JMenuBar в Java Swing
Так что если у меня есть JMenu
& JMenuBar
определить следующим образом:
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu1.setText("About");
jMenuBar1.add(jMenu1);
// Finally
setJMenuBar(jMenuBar1);
и с этим меню "О программе"выравнивается в левой части строки меню. Есть ли в любом случае, что я могу выровнять это меню в правой части строки меню?
4 ответов
для этого доступен патч:
jMenuBar.add(Box.createHorizontalGlue());
добавьте эту строку перед добавлением меню в меню, и ваше меню появится в правой части меню. Что-то вроде:
.....
jMenu1.setText("About");
jMenuBar1.add(Box.createHorizontalGlue()); <-- horizontal glue
jMenuBar1.add(jMenu1);
.....
jMenuBar1.add(Box.createHorizontalGlue());
и не забудьте alignt JMenu
С JMenuItem
слишком
JMenu.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
как сказал мкорбель для JMenu
на JMenuBar
такой :
jMenuBar1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
ваш может ссылаться на https://docs.oracle.com/javase/tutorial/uiswing/layout/box.html
особенно обратите внимание на часть
помещая горизонтальный клей между двумя компонентами в поле слева направо, Вы делаете дополнительное пространство между этими компонентами