黑马程序员技术交流社区
标题:
事件监听机制
[打印本页]
作者:
周洋
时间:
2012-3-28 00:41
标题:
事件监听机制
事件监听 里的 适配器的应用 没明白 高手给举例 讲下啊
作者:
贠(yun)靖
时间:
2012-3-28 00:53
class AwtDemo2
{
public static void main(String[] args)
{
Frame f=new Frame("my awt");
f.setSize(500,400);
f.setLocation(300,200);
f.setLayout(new FlowLayout());
Button b=new Button("按钮");
f.add(b);
f.addWindowListener (new MyWin());
f 是事件源 把事件源添加到WindowListener 相当于让事件源和事件监听者之间建立了联系 就是毕老师举的 存古董的箱子 和 保安那个例子
放古董的箱子就是事件源 保安是监听者 而 new MyWin() 是把触发事件的那些异常动作(或者说行为)封装成对象 传递给
public void windowClosing(WindowEvent e) 方法中的 e 所以当你触发这些动作的时候 才能调用这个方法
你想想 这个方法是有参数的 而你f。add事件的时候 里面new了个对象 这个对象跑那去了? 还有就是调用带参的方法时必须传个参数对吧
而事件监听机制 就这几句话 肯定就这么传过来了 只是比较抽象了些
f.setVisible(true);
System.out.println("Hello World!");
}
}
class MyWin extends WindowAdapter
{
public void windowClosing(WindowEvent e)//复制这个方法
{
//System.out.println("我关");
System.exit(0);// 表示程序正常终止
}
}
作者:
王国华
时间:
2012-3-28 15:58
简单的说,比如说你要监听window的动作,需要实现WindowListener接口,但WindowListener接口里有
很多个方法需要你覆盖,而你只需要一个动作,所以就出现了适配器,它覆盖了WindowListener接口中的
多个方法,但方法体为空,此时我们需要哪个动作,只需覆盖一个方法即可。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2