1

で既に選択されている値をユーザーが選択したときに、イベントが発生しないようにしたいと考えていますJComboBox

たとえば、JComboBoxモデルが次の値を持つ があるとします。

  • ネコ

現在選択されている値は「Cat」です。「Cat」がすでに選択されているときに、ユーザーが「Cat」を再度選択した場合、リスナーに通知されないようにしたいと思います。

setSelectedItem(Object)モデルにチェックを追加して、これを実装しようとしました。しかし、これはうまくいきませんでした。

私の次の仮定は、この機能が必要な場合は、サブクラス化してそれと関数をJComboBoxオーバーライドする必要があるということです。setSelectedItem(Object)contentsChanged(ListDataEvent)

ただし、ドキュメントを考えると、contentsChanged(ListDataEvent)それをオーバーライドすることをためらっています。そんなわけで、皆さんへの私の質問:

サブクラス化とその機能のオーバーライドを必要としない、この目的の機能を取得するためのより良い方法はありますJComboBoxか?setSelectedItem(Object)contentsChanged(ListDataEvent)

4

1 に答える 1