你可以通过使用辅助程序接口将多方法接口与lambda一起使用。这适用于这样的侦听器接口,在这些接口中,不需要的方法的实现是微不足道的(即,我们也可以做
MouseAdapter提供的事情):
// note the absence of mouseClicked…interface ClickedListener extends MouseListener{ @Override public default void mouseEntered(MouseEvent e) {} @Override public default void mouseExited(MouseEvent e) {} @Override public default void mousePressed(MouseEvent e) {} @Override public default void mouseReleased(MouseEvent e) {}}你只需要定义一次这样的帮助程序接口。
现在,你可以
Component c像这样添加点击事件的侦听器:
c.addMouseListener((ClickedListener)(e)->System.out.println("Clicked !"));


