使用方法传递参数.Java的

Eug*_*ene 1 java

你能否解释一下这种方法传递给addActionListener方法的方法是什么?我知道JButton创建了一个类型的按钮变量并定义了事件监听器.我不太清楚这个addActionListener论点,即其中的actionPerformed方法定义.我可以在哪里准备这种方法?谢谢.

JButton button = new JButton("New button");
button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
        System.out.println("Hello");
    }
});
Run Code Online (Sandbox Code Playgroud)

Ree*_*ore 7

这里发生的是addActionListener将一个对象implements ActionListener作为参数.

您正在创建一个实现接口的匿名类,ActionListener并在其中定义接口actionPerformed所需的方法ActionListener.

此匿名类被实例化为对象,该对象将传递给该addActionListener方法.

  • 对于`ActionListener`使用匿名类是非常普遍的(并且在我看来更清楚),因为它保留了按钮在一个地方所做的事情,但也因为它只会在那个特定的地方使用一次.对于混淆命名空间的每个按钮,您不需要单独的命名内部类. (2认同)