3

をクリックしJMenuItemたときにメニューが閉じないようにするにはどうすればよいですか?JMenuItem

JMenuItemが有効になっています。

だからこれはシナリオです、私は3つ持っていますJMenuItems

JMenuItem: A, B, C;

Cは整数を表示しますX

AとBは、値1だけインクリメントまたはデクリメントXするために使用されます。AまたはBがクリックされた場合、デフォルトの性質では、クリックするとメニューが閉じます。AまたはBを繰り返しクリックしてメニューを表示したままにし、クリックするたびに関連する「アクション」を実行できるようにしたい。

ありがとう!

4

1 に答える 1

3

まず、これを行うためにメニューを使用することは間違ったアプローチかもしれません。 JSpinnerより適切なようです。ただし、を使用してこれを行うには、使用しているのJMenuItemをサブクラス化し、メソッドをオーバーライドして呼び出されないようにします。これにより、アイテムがクリックされたときにメニューが閉じます。MenuItemUILookAndFeeldoClick(...)clearSelectionPath()

たとえば、Motifを使用している場合は、次のようにLookAndFeel実行できます。

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

私はこれを自分で試したことがありませんが、うまくいくと思います。

于 2012-02-08T18:04:38.050 に答える