3

单击时如何防止 aJMenuItem关闭菜单JMenuItem

JMenuItem启用。

所以这是场景,我有 3 个JMenuItems

JMenuItem: A, B, C;

C 显示一个整数X

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

谢谢!

4

1 回答 1

3

首先,使用菜单来执行此操作可能是错误的方法。 JSpinner似乎更合适。但是,要使用 a 来执行此操作,JMenuItem您可以对正在使用的 进行子类MenuItemUILookAndFeel,并覆盖该doClick(...)方法以便clearSelectionPath()不调用该方法,这会在单击该项目时关闭菜单。

例如,如果您使用的是 Motif LookAndFeel,您可以这样做:

menuItem.setUI(new MotifMenuItemUI() {
    @Override
    protected void doClick(MenuSelectionManager msm) {
        menuItem.doClick(0);
    }
});

我自己从未尝试过,但我认为它会起作用。

于 2012-02-08T18:04:38.050 回答