java中事件监听问题

J2EE 码拜 3年前 (2017-04-18) 364次浏览
import java.awt.*;
import java.awt.event.*;
public class TestActionEvent {
public static void main(String args[]) {
Frame f = new Frame(“Test”);
Button b = new Button(“Press Me!”);
Monitor bh = new Monitor();
b.addActionListener(bh);
//把监听器接在button上;
f.add(b,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}
class Monitor implements ActionListener
{
public void actionPerformed(ActionEvent e)
//重写接口中的抽象方法;这个参数对应的是button所发生的事情;
{
System.out.println(“a button has been pressed”);
}
}
问题是整个bh没有调用Monitor中的方法;为什么能实现监听效果;感觉这里有多态的存在;能解释一下么;谢谢;
解决方案

60

你可以了解一下java的接口回调机制,在swing和android中都应用较多:http://hellosure.iteye.com/blog/1130176

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java中事件监听问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)