Java在单独的类上添加ActionListener

Ewe*_*wen 4 java swing jframe actionlistener

继承人我想做的事情,其中​​一个类是包含所有JButtons的JFrame,我想要另一个类来监听在JFrame类上进行的操作.请参阅以下代码:

public class Frame extends JFrame{
    //all the jcomponents in here

}

public class listener implements ActionListener{
    //listen to the actions made by the Frame class

}
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间.

Jef*_*ffS 5

只需将侦听器的新实例添加到要侦听的任何组件即可.任何实现的类ActionListener都可以添加为组件的侦听器.

public class Frame extends JFrame {
    JButton testButton;

    public Frame() {
        testButton = new JButton();
        testButton.addActionListener(new listener());

        this.add(testButton);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 在他的代码示例中,他显然有一个名为`listener`的类正在实现`ActionListener`.您不必为所有内容使用匿名内部类,并且使用外部类实现`ActionListener`没有任何问题.你可以创建一个很好的实例. (2认同)