单击时如何防止 aJMenuItem
关闭菜单JMenuItem
?
已JMenuItem
启用。
所以这是场景,我有 3 个JMenuItems
:
JMenuItem: A, B, C
;
C 显示一个整数X
。
A 和 B 用于递增或递减X
值 1。如果单击 A 或 B,则默认性质是菜单将在单击时关闭。我希望能够反复单击 A 或 B 并保持菜单处于打开状态,并在每次单击时执行相关的“操作”。
谢谢!
首先,使用菜单来执行此操作可能是错误的方法。 JSpinner
似乎更合适。但是,要使用 a 来执行此操作,JMenuItem
您可以对正在使用的 进行子类MenuItemUI
化LookAndFeel
,并覆盖该doClick(...)
方法以便clearSelectionPath()
不调用该方法,这会在单击该项目时关闭菜单。
例如,如果您使用的是 Motif LookAndFeel
,您可以这样做:
menuItem.setUI(new MotifMenuItemUI() {
@Override
protected void doClick(MenuSelectionManager msm) {
menuItem.doClick(0);
}
});
我自己从未尝试过,但我认为它会起作用。