特に以下のコード例では、ItemEventオブジェクトの次のメソッドの違いをよく理解していません。
Object getItem()クラスItemEventから、Java-API:
イベントの影響を受けるアイテムを返します。
ItemSelectable getItemSelectable()クラスItemEventから、Java-API:
イベントの発信者を返します。
Object getSource()クラスEventObject、Java-APIから継承:
イベントが最初に発生したオブジェクトを返します。
私が知っているのは、 。getItemSelectable()のようなメソッドを使用するために明示的にキャストする必要がないため、オブジェクトの取得が簡単になることですgetText()。(したがって、(JCheckBox)2番目のコマンドのキャストprintlnは必要ありません。)そして、私は知っています、それはをgetItemSelectable()使用しますgetSource()。しかし、なぜ別のものがあるのgetItem()ですか?
ただし、以下の例では、これらの方法の違いは示されていません。
JCheckBox cb = new JCheckBox("text of checkbox", true);
ItemListener myListener = new ItemListener()
{
@Override
public void itemStateChanged(ItemEvent e)
{
System.out.println(((JCheckBox) e.getItem()).getText());
System.out.println(((JCheckBox) e.getSource()).getText());
System.out.println(((JCheckBox) e.getItemSelectable()).getText());
}
};
cb.addItemListener(myListener);
出力:
チェックボックスのテキスト
チェックボックスのテキスト
チェックボックスのテキスト
では、正確な違いは何ですか?いつどの関数を使用しますか?
編集:たぶん違いはありません、少なくとも概念的な違いはありません(リターンタイプと元のクラスを除いて)?