正如你所看到的,拥有这些东西是很丑陋的JMenuItem
是。菜单项的宽度非常小。
这是代码:
JMenu menuOne=new JMenu("MenuOne");
JMenu menuTwo=new JMenu("MenuTwo");
JMenu menuThree=new JMenu("MenuThree");
JMenu menuFour=new JMenu("MenuFour");
JMenuBar mbar=new JMenuBar();
//add the menu to menubar
mbar.add(menuOne);
JMenuItem OneItOne=new JMenuItem("1");
JMenuItem OneItTwo=new JMenuItem("2");
menuOne.add(OneItOne);
menuOne.addSeparator();
menuOne.add(OneItTwo);
mbar.add(menuTwo);
mbar.add(menuThree);
mbar.add(menuFour);
setJMenuBar(mbar);
只需在字符串中添加一些空格即可(例如"1 "
),但是有没有更好的方法来设置首选长度JMenuItem
?我试过了OneItTwo.setSize()
,但失败了。
setPreferredSize(new Dimension(...));
适用于菜单项。setMinimumSize
但不起作用;菜单布局管理器似乎不尊重它,因此,如果您想设置可能会被较大内容覆盖的最小值,或者您想设置最小或首选宽度而不更改高度,则必须覆盖getPreferredSize()
在一个子类中。例如。,
menuOne.add(new JMenuItem("1") {
@Override
public Dimension getPreferredSize() {
Dimension d = super.getPreferredSize();
d.width = Math.max(d.width, 400); // set minimums
d.height = Math.max(d.height, 300);
return d;
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)