单击JMenuItem
时如何防止JMenuItem
关闭菜单?JMenuItem
已启用。
所以这是场景,我有3个JMenuItems
:JMenuItem: A, B, C
;
C显示整数X
。
A和B用于将X
递增或递减值1。
如果单击A或B,则默认性质是单击后将关闭菜单。
我希望能够重复单击A或B并保持菜单不变,并在每次单击时执行相关的“操作”。
谢谢!
最佳答案
首先,使用菜单执行此操作可能是错误的方法。 JSpinner
似乎更合适。但是,要使用JMenuItem
进行此操作,可以将正在使用的MenuItemUI
的LookAndFeel
子类化,并覆盖doClick(...)
方法,以便不调用clearSelectionPath()
,单击该项目时将关闭菜单。
例如,如果您使用Motif LookAndFeel
,则可以执行以下操作:
menuItem.setUI(new MotifMenuItemUI() {
@Override
protected void doClick(MenuSelectionManager msm) {
menuItem.doClick(0);
}
});
我从未尝试过这样做,但我认为它会起作用。
关于java - 如何防止MenuItem在单击JMenuItem时关闭Menu,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9198530/