单击时如何防止 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);
}
});
我自己从未尝试过,但我认为它会起作用。