A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周洋 黑马帝   /  2012-3-28 00:41  /  1628 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

事件监听  里的   适配器的应用 没明白  高手给举例 讲下啊

2 个回复

倒序浏览
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);//  表示程序正常终止        
        }

}
回复 使用道具 举报
简单的说,比如说你要监听window的动作,需要实现WindowListener接口,但WindowListener接口里有
很多个方法需要你覆盖,而你只需要一个动作,所以就出现了适配器,它覆盖了WindowListener接口中的
多个方法,但方法体为空,此时我们需要哪个动作,只需覆盖一个方法即可。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马