7

したがって、JMenu&がJMenuBar次のように定義されている場合:

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

// Finally
setJMenuBar(jMenuBar1);

これにより、メニュー「About」がメニューバーの左端に配置されます。とにかく、このメニューをメニューバーの右端に揃えることができますか?

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を参照してください。

特に部分的に注意してください

左から右のボックス内の 2 つのコンポーネント間に水平方向の接着剤を配置することで、それらのコンポーネント間に余分なスペースを作ることができます。

于 2016-06-02T09:11:44.067 に答える