mar*_*zzz 1 java event-handling
抱歉,这是一个我从未意识到的概念,我从未使用过我的项目.我绝对需要学习和使用它.
所以我读了许多关于界面和事件处理的文章,但它并没有留在我的脑海里.
刚开始一个简单的例子:
public class Main implements ActionListener{
JButton but=new JButton("BUTTON");
public Main() {
but.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
// DO SOMETHINGS WHEN THE BUTTON IS CLICKED
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码绝对容易.我实现了ActionListener接口,所以我需要编写自己的方法代码(actionPerformed).
我不明白的是:
1 - 谁实施了这个addActionListener方法?它不是JButton类的方法.谁提供这种方法?
2 - addActionListeneractionPerformed方法之间的桥梁是什么?第一个应该提供Event e给第二个......并且两个都必须在某个地方实现......
对不起这个问题.我试着学习这个(通过阅读互联网上的许多文章),但我无法理解这是如何工作的!
干杯谢谢大家:)
addActionListener由AbstractButton超类实现JButton.
该JButton对象包含对您的ActionListener对象的引用(即您的Main类的实例).当用户触发UI事件时,JButton构造一个ActionEvent对象并将其传递给存储的ActionListener对象,即它将事件传递给您的Main类.
如果您想了解更多细节,请查看源代码AbstractButton.addActionListener以了解它的作用.
| 归档时间: |
|
| 查看次数: |
2111 次 |
| 最近记录: |