2

私のプログラムには、コンボボックスの選択した項目を変更する機能があります。しかし、アイテムの変更がアイテム自体の人間のマウスクリックによるものなのか、それとも私のプログラムによるものなのかをどうやって知ることができますか。

JComboBox自体ではなく、JComboBoxのアイテムに追加できるMouseListenerをかなり探しています。

4

1 に答える 1

3

JComboBoxは複合コンポーネントであるため、MouseListenerなどの低レベルのリスナーを使用しないことを強くお勧めします。代わりに、コードがアイテムを選択するときに選択リスナーを無効にして(おそらく、ActionListenerを使用している)、選択が完了した後でそれを再度有効にしてみませんか。したがって、ActionListenerによるアクティビティはすべてユーザーの選択によるものであることがわかります。リスナーを削除して再度追加するか、ブール値がtrueの場合にのみリスナーが反応できるようにするブール変数を使用して、リスナーを無効または有効にすることができます。

于 2012-11-04T20:17:23.880 に答える