如何覆盖FocusListener - Swing

时间:2011-07-21 15:29:20

标签: java swing

我使用的应用程序覆盖了swing的默认JComboBox。 Leets称之为MyComboBox。此版本的ComboBox实现了FocusListener,并包含两个方法focusGained和focusLost。

现在,在应用程序的一个面板中,表单包含一个这种类型的ComboBox:

MyComboBox aMyComboBox = new MyComboBox();

我想像这样添加一个监听器:

aMyComboBox.addFocusListener(new FocusListener() {
   public void focusLost(FocusEvent e) {
       //Do something here
   }
   public void focusGained(FocusEvent e) {
       //Do something else
   }
});

但是当我运行代码时,它永远不会传递给这些方法,而只是从MyComboBox类执行focusGained / lost。

有没有办法在已实现FocusListener的对象上添加侦听器?

1 个答案:

答案 0 :(得分:2)

其他FocusListener should work,除非MyComboBox中使用的实例使用该事件(AWT event consumption)。

尝试使用普通的JComboBox进行示例 - 这将有助于缩小问题的原因。