我是一名学生,我们刚刚开始使用图形。我使用actionListener完成了两个赋值。在这两个赋值中,我的构造函数都有这个代码:
JButton.setActionListener(this) ;
所以我的问题是,如果我使用不同的课程,而不是"这个"会发生什么?关键字?
离
JButton.setActionListener(someClass) ;
答案 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表达式;)