次のコード/私の仮定の何が問題になっていますか?
まず、AWT イベント リスナーを登録します。
...
Toolkit.getDefaultToolkit().addAWTEventListener(this,
AWTEvent.ACTION_EVENT_MASK | AWTEvent.ITEM_EVENT_MASK
);
...
次に、ユーザーがまたはeventDispatched(AWTEvent)
からアイテムを選択するたびに呼び出されることを期待しています。しかし、何も起こりません。なんで?JComboBox
JList
@Override
public void eventDispatched(AWTEvent event) {
if (event instanceof ItemEvent) {
System.out.println("ITEM EVENT"); // this is never called
} else if (event instanceof ActionEvent) {
System.out.println("ACTION EVENT"); // this is never called
}
}
と に追加できることはわかっていますが、ユーザー アクティビティをログに記録しよActionListener
うJComboBox
とJList
しているため、このソリューションは避けたいため、リスナーは「グローバル」である必要があります。