- - PR -
複数のJComboBoxを使い分けるには?
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-04-13 18:15
こんにちは。
プログラム内でJComboBoxを2つ使用しているのですが、どちらのコンボボックスが変更されたかを判断するメソッドなどはないのでしょうか? どちらのボックスが変更された場合もgetActionCommand()でcomboBoxChangedというのが返されますが、これではどちらが変更されたのかまでは分かりません。APIを調べてみるとgetModifiersというのがあったので、これを試してみたのですが、なぜかどちらのコンボボックスを変更した場合も16という意味不明な数字が返されます。 APIに載っていたActionEventの他のメソッドも関係なさそうですし。 すみませんが、よろしくお願いいたします。
| ||||
|
投稿日時: 2004-04-13 18:21
2つのコンボボックスの actionCommand が全く同じものに設定されているから判別できないんですね。
setActionCommand() で別のものを設定するか、 e.getSource() にてどちらのコンボボックスからのイベントかを判定することで処理できると思います。 #恐らく IDE が生成したコードで混乱してしまってるのではないでしょうか?リスナやアダプタ、イベントの役割を把握すると良さそうです。 もちろんイベントをハンドルするインスタンスを別にすることでも Ok です。 [ メッセージ編集済み 編集者: インギ 編集日時 2004-04-13 18:23 ] | ||||
|
投稿日時: 2004-04-13 18:35
インギさん、早速のご返答ありがとうございます。
setActionCommand()で別の名前を設定するというのは知りませんでした。これでうまくいきました。 getSourceは質問の前に試してみたのですが、どちらのボックスからかという情報は含まれてなかったように思います。 いずれにしましても、助かりました。ありがとうございます。 | ||||
|
投稿日時: 2004-04-14 02:20
解決したとのことでなによりです。
ちなみに getSource() ではイベントが発生したコンポーネントを取得できるので == にて判定できたと思います。 | ||||
1
