是不是一个叫事件适配器
另一个叫事件监听器??

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sure2003】截止到2008-07-11 08:16:27的历史汇总数据(不包括此帖):
    发帖的总数量:219                      发帖的总分数:9637                     每贴平均分数:44                       
    回帖的总数量:179                      得分贴总数量:3                        回帖的得分率:1%                       
    结贴的总数量:217                      结贴的总分数:9567                     
    无满意结贴数:2                        无满意结贴分:50                       
    未结的帖子数:2                        未结的总分数:70                       
    结贴的百分比:99.09 %               结分的百分比:99.27 %                  
    无满意结贴率:0.92  %               无满意结分率:0.52  %                  
    值得尊敬
      

  2.   

    public abstract class WindowAdapterextends Objectimplements WindowListener, WindowStateListener, WindowFocusListener接收窗口事件的抽象适配器类。此类中的方法为空。此类存在的目的是方便创建侦听器对象。 扩展此类可创建 WindowEvent 侦听器并为所需事件重写该方法。(如果要实现 WindowListener 接口,则您必须定义该接口内的所有方法。此抽象类将所有方法都定义为 null,所以只需针对关心的事件定义方法。) 使用扩展的类可以创建侦听器对象,然后使用窗口的 addWindowListener 方法向该窗口注册侦听器。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。public class WindowEventextends ComponentEvent指示窗口状态改变的低级别事件。当打开、关闭、激活、停用、图标化或取消图标化 Window 对象时,或者焦点转移到 Window 内或移出 Window 时,由 Window 对象生成此低级别事件。 该事件被传递给每一个使用窗口的 addWindowListener 方法注册以接收这种事件的 WindowListener 或 WindowAdapter 对象。(WindowAdapter 对象实现 WindowListener 接口。)发生事件时,所有此类侦听器对象都将获得此 WindowEvent。public interface WindowFocusListenerextends EventListener用于接收 WindowEvent(包括 WINDOW_GAINED_FOCUS 和 WINDOW_LOST_FOCUS 事件)的侦听器接口。旨在处理 WindowEvent 的类要么实现此接口(及其包含的所有方法),要么扩展抽象 WindowAdapter 类(仅重写所需的方法)。然后使用 Window 的 addWindowFocusListener 方法将从该类所创建的侦听器对象向该 Window 注册。当通过打开、关闭、激活、停用、图标化或取消图标化,或者通过将焦点移入或移出 Window 而使该 Window 的状态改变时,将调用侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。 public interface WindowListenerextends EventListener用于接收窗口事件的侦听器接口。旨在处理窗口事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 WindowAdapter(仅重写所需的方法)。然后使用窗口的 addWindowListener 方法将从该类所创建的侦听器对象向该 Window 注册。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。 public interface WindowStateListenerextends EventListener用于接收窗口状态事件的侦听器接口。 旨在处理窗口状态事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 WindowAdapter 类(仅重写所需的方法)。 然后使用 Window 的 addWindowStateListener 方法将从该类所创建的侦听器对象向该 Window 注册。当通过图标化、最大化等改变窗口状态时,就调用侦听器对象中的 windowStateChanged 方法,并将 WindowEvent 传递给该方法。
     
      

  3.   

    Lz是不是把WindowListener错写成WindowEvent了?WindowListener:监听器;是一个接口,实现这个接口的类必须把接口所有的方法都实现了,即使是用不到的方法也要给空实现。
    WindowAdapter:适配器;是一个普通的类,对WindowListener的方法提供了空实现,你自个的类只需要继承WindowAdapter类并覆盖需要的方法就行啦。至于为什么有了WindowListener还有搞个WindowAdapter。请Lz参考Adapter模式的相关文章。
      

  4.   

    我觉得你是想问WindowListener和WindowAdapter的区别吧。
      

  5.   


    WindowListener  是接口WindowAdapter  是抽象类 并实现了WindowListener接口本质没啥区别,你用哪个都一样,只不过一个要实现全部方法,一个你实现你要用的方法就行了
      

  6.   

    .我们知道,当一个类实现一个接口的时候,即使不准备处理某个方法,也必须给出接口中的所有方法的实现。适配器可以代替接口来处理事件,当JAVA提供处理事件的接口多于一个方法时,JAVA相应的就提供一个适配器类,比如WindowAdapter类。适配器已经实现了相应的接口,例如WindowAdapter实现了WindowListener接口。因此可以使用WindowAdapter的子类创建的对象做监视器,在子类中重写所需要的接口方法就可以了。
    2.为什么要使用WindowAdapter适配器?
    在建立窗口和菜单(四)中的第二个例子中我们看到,要想实现WindowListener接口,就必须要写出这个接口中的所有的7方法,无论这7中方法你觉得有用还是没有用你都要把他们写出来,少一个都不幸。但是我们用了WindowAdapter适配器后,我们就可以把我们认为所需要的接口的方法写出来即可。由此可见,适配器可以让我们节省写那些无用的代码时间,提高我们的效率。
    3.this用法
    A.   我们想通过构造方法将外部传入的参数赋值给类的成员变量,构造方法的形式参数名称与类的成员变量名相同。例如:
            class Person
            {
                 String name;
                 public Person(String name)
                 {
                      this.name = name;
                 } 
            }
    B.   假设有一个容器类和一个部件类,在容器类的某个方法中要创建部件类的实例对象,而部件类的构造方法要接受一个代表其所在容器的参数。例如:
            class Container
            {
                 Component comp;
                 public void addComponent()
                 {
                      comp = new Component(this);
                 }
            }
            class Component
            {
                 Container myContainer;
                 public Component(Container c)
                 {
                      myContainer = c;
                 }
            }
    我们上面的程序就用的该方法:Boy police = new Boy(this);
    容器类MyFrame 部件类Boy
    在部件类的构造方法中public Boy()其括号内的参数类型是容器类的
    C. 
      构造方法是在产生对象时被java系统自动调用的,我们不能再程序中像调用其他方法一样去调用构造方法。但我们可以在一个构造方法里调用其他重载的构造方法,不是用构造方法名,而是用this(参数列表)的形式,根据其中的参数列表,选择相应的构造方法。例如:
            public class Person
            {
                 String name;
                 int age;
                 public Person(String name)
                 {
                      this.name = name;
                 }
                 public Person(String name,int age)
                 {
                      this(name);
                      this.age = age;
                 }
            }