-1
どのオブジェクトがitemStateChangedを起動したかを調べる方法を知りました。itemStateChangedを発生させたオブジェクトタイプを取得する
私はチェックボックスとドロップダウンを持っているとします。どちらも同じitemStateChangedに接続されています。そこでは、最初にどのオブジェクトが変更されたのかを判断し、オブジェクトに応じてコードを実行したいと思います。
どうすればいいですか?私はこれについて考えていました:
public void itemStateChanged(ItemEvent e) {
if(e.getSource() == JComboBox) {
// Do code
}
if(e.getSource() == JDropDown) {
// Some other code
}
}
しかし、JDropDownとJCheckBoxはオブジェクトであり変数ではないので、明らかに機能しません。
あなたはあなたが 'instanceof'を使用するか、またはイベントソースをキャストタイプを試すことができ – XtremeBaumer
を作成し、これらのクラスのインスタンスを確認することができます。 – Rupak
JCheckBoxという名前のフィールドとJDropDownというフィールドがない限り、そのコードはコンパイルされません。チェックボックスとドロップダウンを参照する実際のフィールド名を使用すると、あなたの解決策が得られます。もっと良い方法は、2つの異なるリスナーを使用することです。 –