全球行动听众

时间:2012-12-04 11:20:14

标签: swing

以下代码/我的假设出了什么问题?

首先我注册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添加到JComboBoxJList,但我想避免使用此解决方案,因为我正在尝试记录用户活动,因此应该是“全球”。

1 个答案:

答案 0 :(得分:0)

我刚刚发现我要求的功能可能不受支持: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6292132

相关文章: How to add global action event listener?