如何访问监听器的源
How to access a Listener's source
我正在尝试使用一个通用的 ActionListener,它对使用 Java 和 Swing 调用它的组合框有所帮助。
有没有办法访问 ActionEvent 的源并将其作为组合框获取,以便访问其方法,例如 getSelectedIndex() 或 setSelectedIndex()?
这也适用于 FocusListener 吗?
谢谢。
编辑:
示例:
private class CbModalidadFocusListener extends FocusAdapter {
@Override
public void focusGained(FocusEvent e) {
selection = someComboBox.getSelectedIndex();
}
}
所需的行为类似于:
selection = e.getSource().getSelectedIndex();
编辑 2:
答案:
正如 Yole 所说,需要演员表:
( (JComboBox) e.getSource() ).getSelectedIndex()
所有 AWT 事件都有一个 getSource() 方法,returns 您需要:http://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html#getSource%28%29
我正在尝试使用一个通用的 ActionListener,它对使用 Java 和 Swing 调用它的组合框有所帮助。
有没有办法访问 ActionEvent 的源并将其作为组合框获取,以便访问其方法,例如 getSelectedIndex() 或 setSelectedIndex()? 这也适用于 FocusListener 吗?
谢谢。
编辑:
示例:
private class CbModalidadFocusListener extends FocusAdapter {
@Override
public void focusGained(FocusEvent e) {
selection = someComboBox.getSelectedIndex();
}
}
所需的行为类似于:
selection = e.getSource().getSelectedIndex();
编辑 2:
答案:
正如 Yole 所说,需要演员表:
( (JComboBox) e.getSource() ).getSelectedIndex()
所有 AWT 事件都有一个 getSource() 方法,returns 您需要:http://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html#getSource%28%29