- - PR -
再度JComboBoxについて
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-12-08 16:50
いつもお世話になってます、コンボボックスの動作でまたアドバイスをお願いします。
コンボボックスにcombo.setSelectedItem()を使って値を設定すると、それと同時にコンボボックスのアクションリスナーが通知されてしまい困っております。リスナーに通知せずにただセットして表示だけさせたい場合はどのようにすればよろしいでしょうか? | ||||
|
投稿日時: 2003-12-08 17:07
unibon です。こんにちわ。
コンボボックス(javax.swing.JComboBox)に限らず、 Swing のコントロールは全般的にこのような挙動のようであり、 私も過去に困ったことがあります。 その時に Swing API の中をいろいろ探してみたのですが、 どうも自分で set した結果リスナが呼ばれたのか、 他者からの変更によりリスナが呼ばれたのかを、 区別する仕組みは API に備わっていないように感じました。 結局、自前でフラグを用意しておいて、 自分で set する場合にはそのフラグをオンにしてから set し、 リスナではそのフラグを見て判断する、 という泥臭いやりかたで回避したことはあります。 ただ、一応これでもうまく動くみたいです。 | ||||
|
投稿日時: 2003-12-08 17:22
JComboBoxのsetSelectedItemかselectedItemChangedを
オーバーライドすれば出来ると思いますよ。 またはsetSelectedItemを改造した関数を新規に作成するか。 | ||||
1
