で既に選択されている値をユーザーが選択したときに、イベントが発生しないようにしたいと考えていますJComboBox
。
たとえば、JComboBox
モデルが次の値を持つ があるとします。
- ネコ
- 犬
- 魚
- 鳥
- 蛇
現在選択されている値は「Cat」です。「Cat」がすでに選択されているときに、ユーザーが「Cat」を再度選択した場合、リスナーに通知されないようにしたいと思います。
setSelectedItem(Object)
モデルにチェックを追加して、これを実装しようとしました。しかし、これはうまくいきませんでした。
私の次の仮定は、この機能が必要な場合は、サブクラス化してそれと関数をJComboBox
オーバーライドする必要があるということです。setSelectedItem(Object)
contentsChanged(ListDataEvent)
ただし、ドキュメントを考えると、contentsChanged(ListDataEvent)
それをオーバーライドすることをためらっています。そんなわけで、皆さんへの私の質問:
サブクラス化とその機能のオーバーライドを必要としない、この目的の機能を取得するためのより良い方法はありますJComboBox
か?setSelectedItem(Object)
contentsChanged(ListDataEvent)