两种方式:
1.在你的类中实现ActionListener,然后使用jBtnSelection.addActionListener(this);
,你必须定义一个menthod 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());
在这种情况下,e
是 ActionEvent。这是可行的,因为 ActionListener 接口只有一个方法,actionPerformed(ActionEvent e)
.
第二种方法还允许您selectionButtonPressed
直接调用该方法。在这种情况下,如果发生其他一些操作,您也可以调用selectionButtonPressed()
- 例如,当计时器关闭或其他情况时(但在这种情况下,您的方法可能会被命名为不同的名称selectionChanged()
)。