以下代码/我的假设有什么问题?
首先我注册 AWT 事件监听器:
...
Toolkit.getDefaultToolkit().addAWTEventListener(this,
AWTEvent.ACTION_EVENT_MASK | AWTEvent.ITEM_EVENT_MASK
);
...
然后我希望eventDispatched(AWTEvent)
每次用户从JComboBox
or中选择项目时都会被调用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
and JList
,但我想避免这种解决方案,因为我正在尝试记录用户活动,因此侦听器应该是“全局的”。