Lambda - 监听器示例
匿名类监听器
在 Java 8 之前,使用匿名类来处理 JButton 的 click 事件是很常见的,如下面的代码所示。此示例显示如何在 btn.addActionListener
的范围内实现匿名侦听器。
JButton btn = new JButton("My Button");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button was pressed");
}
});
Lambda 听众
因为 ActionListener
接口只定义了一个方法 actionPerformed()
,所以它是一个功能接口,这意味着有一个地方可以使用 Lambda 表达式来替换样板代码。可以使用 Lambda 表达式重写上面的示例,如下所示:
JButton btn = new JButton("My Button");
btn.addActionListener(e -> {
System.out.println("Button was pressed");
});