两种方式:
1. 在你的类中实现 ActionListener,然后使用 稍后,你必须定义一个 menthod, .但是,对多个按钮执行此操作可能会令人困惑,因为该方法必须检查每个事件 () 的源才能查看它来自哪个按钮。jBtnSelection.addActionListener(this);
public void actionPerformed(ActionEvent e)
actionPerformed
e.getSource()
2. 使用匿名内部类:
jBtnSelection.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
selectionButtonPressed();
}
} );
稍后,您必须定义 .当您有多个按钮时,此方法效果更好,因为您对用于处理操作的各个方法的调用紧挨着按钮的定义。selectionButtonPressed()
2,更新。由于Java 8引入了lambda表达式,因此可以说与#2基本相同,但使用更少的字符:
jBtnSelection.addActionListener(e -> selectionButtonPressed());
在本例中,是操作事件。这之所以有效,是因为 ActionListener 接口只有一个方法 。e
actionPerformed(ActionEvent e)
第二种方法还允许您直接调用该方法。在这种情况下,如果发生其他一些操作,您也可以调用 - 例如,当计时器关闭或发生其他事情时(但在这种情况下,您的方法将被命名为不同的东西,也许)。selectionButtonPressed
selectionButtonPressed()
selectionChanged()