使用actionListener

时间:2017-05-22 20:31:33

标签: java awt

我是一名学生,我们刚刚开始使用图形。我使用actionListener完成了两个赋值。在这两个赋值中,我的构造函数都有这个代码:

JButton.setActionListener(this) ;

所以我的问题是,如果我使用不同的课程,而不是"这个"会发生什么?关键字?

JButton.setActionListener(someClass) ;

2 个答案:

答案 0 :(得分:0)

这意味着该课程someClass必须implements ActionListener及其实施的方法,例如actionperformed()方法。

像:

public class SomeClass implements ActionListener {


        public SomeClass() {

                //Could do things here
        }

        public void actionPerformed(ActionEvent e) {
                //DDo things when button is clicked.
                System.out.println("The button has been clicked");
        }

}

答案 1 :(得分:0)

您可以添加ActionListener的实例(甚至允许使用匿名类)。 所以你可以这样做:

new JButton().addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            //YOUR CODE
        }
    });

或者你可以实现另一个类(让我们称之为Foo)并用

添加它
new JButton().addActionListener(new Foo());

如果你喜欢函数式编程,你也可以使用lambda表达式;)