在学习java swing基础的过程中,可能会遇到多个事件的监听,当监听一个事件就会new一个监听事件的类,这样未免过于麻烦,我们可以采用匿名内部类的方法进行监听
示例代码如下:
button.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){label.setText("按钮被单击了"+(clicks++)+"次");}});
但是当我们遇到一个按钮或者其他的一个属性需要做多个事件监听时,就会重复下列代码:
button.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){label.setText("按钮被单击了"+(clicks++)+"次");}});button.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){//******}});
但实际有效的只是这一部分 :
我们可以把代码进一步简化,运用Lambda表达式:
button.addActionListener((e)->{label.setText("按钮被单击了"+(clicks++)+"次");});//相当于匿名内部类的写法