请问VM中的监听是如何实现的呢? 我们写程序时,对某个Button进行事件处理时,加个Listener,然后按下Button,VM就自动跳到Listener中的处理代码去了,这种机制是如何实现的,那又能不能自己模仿一下呢?谢谢.... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个 就是 设计模式里的 观察者模式,,,,,,你google下,,,, public class test { public static void main(String[] args) { Listener l = new Listener() { public void onClick() { System.out.println("监听了事件"); } }; MyButton btn = new MyButton(); // 没有加载监听器情况下 btn.click(); // 加载监听器 btn.setListener(l); btn.click(); }}interface Listener{ public void onClick();}class MyButton { Listener listener; public MyButton() { Listener listener = new Listener() { public void onClick() { } }; this.listener = listener; } public void setListener(Listener listener) { this.listener = listener; } public void click() { System.out.println("按下了按钮"); listener.onClick(); }} 谢谢2楼的回答,但是这个答案与我的想法有点差异。Button设置了监听Listener,Listener有个方法为onClick(),如果点击了Button,并不是要咱手动去调用( btn.onClick()此处已经指明了是btn,我的想法是只要设置了btn.setListener(Listener)后,没有"btn."的前缀下,即可自动去运行onClick()的代码) 进行处理的,如何做自动去运行onClick()的代码呢? 也可以用spring的aop模块面向切面编程监视调用的方法名 关于equals()和==之间的区别,有个疑问,求指教。。。 java 搜索 音乐 初学者求教!^是什么意思 小弟刚接触java,写二叉树遇到一个小问题,求高手帮忙 java 数据库基本操作 java连接Access数据库,请问那里错了???? 如何获取局域网的所有计算机名和ip地址的代码怎么写? QQ群里的树结构怎么用JTree来实现? 对表格单元setValueA以后为什么不显示单元格的改变? 请问JAVA的缺点有那些? abstract修饰符问题 修改excel文件的数据
这个 就是 设计模式里的 观察者模式,,,,,,你google下,,,,
public static void main(String[] args) {
Listener l = new Listener() { public void onClick() {
System.out.println("监听了事件");
}
};
MyButton btn = new MyButton();
// 没有加载监听器情况下
btn.click();
// 加载监听器
btn.setListener(l);
btn.click();
}
}
interface Listener{
public void onClick();
}
class MyButton {
Listener listener;
public MyButton() {
Listener listener = new Listener() {
public void onClick() {
}
};
this.listener = listener;
}
public void setListener(Listener listener) {
this.listener = listener;
}
public void click() {
System.out.println("按下了按钮");
listener.onClick();
}
}
用spring的aop模块面向切面编程
监视调用的方法名