单击JMenuItem时如何防止JMenuItem关闭菜单?
JMenuItem已启用。

所以这是场景,我有3个JMenuItems:
JMenuItem: A, B, C;

C显示整数X

A和B用于将X递增或递减值1。
如果单击A或B,则默认性质是单击后将关闭菜单。
我希望能够重复单击A或B并保持菜单不变,并在每次单击时执行相关的“操作”。

谢谢!

最佳答案

首先,使用菜单执行此操作可能是错误的方法。 JSpinner似乎更合适。但是,要使用JMenuItem进行此操作,可以将正在使用的MenuItemUILookAndFeel子类化,并覆盖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/

10-11 01:12