首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用actionListener

使用actionListener
EN

Stack Overflow用户
提问于 2017-05-22 20:31:32
回答 2查看 84关注 0票数 1

我是个学生,我们刚开始学习图形。我用actionListener做了两次作业。在这两个任务中,我的构造函数都有以下代码:

代码语言:javascript
复制
JButton.setActionListener(this) ;

所以我的问题是,如果我使用不同的类,而不是"this“关键字,会发生什么情况?

例如

代码语言:javascript
复制
JButton.setActionListener(someClass) ;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-22 20:35:58

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

代码语言:javascript
复制
new JButton().addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            //YOUR CODE
        }
    });

或者您可以实现另一个类(让我们称它为Foo)并将它添加到

代码语言:javascript
复制
new JButton().addActionListener(new Foo());

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

票数 0
EN

Stack Overflow用户

发布于 2017-05-22 20:35:43

这意味着该类someClass必须与implements ActionListener及其实现的方法(如actionperformed()方法)一起使用。

比如:

代码语言:javascript
复制
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");
        }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44121663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档