便便在天上飞吧 关注:2贴子:225
  • 4回复贴,共1
Java 提供了 Observer 模式的默认实现,Java 对 观察者模式的支持
主要体现在 Observable 类和 Observer 接口。
(1) Observable 类代表 被观察者 (java.util.Observable )         
主要方法: void setChanged() : 设置被观察者的状态已经被改变        
void addObserver(Observer observer) : 添加观察者        
int countObservers() : 返回所有观察者的数目        
void deleteObserver(Observer observer) :删除指定观察者         
void deleteObservers(): 删除所有观察者        
boolean hasChanged() : 被观察者的状态是否被改变,如果是则返回true,否则返回false        
void notifyObservers() : 通知所有观察者(没有参数)        
void ... 


IP属地:海南1楼2010-05-22 02:01回复
    (2) Observer 接口代表 观察者 (java.util.Observer )
            它只有一个抽象方法需要被具体的观察者类实现(很重要 ):
            void update(Observable observable, Object arg) :当 被观察者 调用 notifyObservers(*) 方法
    时,会根据被观察者的 hasChanged() 方法 来判断 它的状态是否被改变, 如果被观察者的状态被改变了,则
    会调用 观察者 的 update 方法,参数 observable 为 被观察者对象, arg 为调用 notifyObservers( Object arg ) 时传入的参数 arg ,如果调用的是 notifyObservers() 方法, 则 arg 为 null( 注意 :应该把这个参数 arg 设定为 被观察者的 被改变的属性)。
    


    IP属地:海南2楼2010-05-22 02:02
    回复
      http://www.javaeye.com/topic/411858
      关于接口


      IP属地:海南3楼2010-05-22 02:05
      回复
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 有标题窗口退出的设置如果没有这句话,JVM就还没有终止,此时关闭的窗口只是个假象。setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)是使用 System exit 方法退出应用程序。


        IP属地:海南4楼2010-05-22 02:17
        回复
          btnShow.setActionCommand("show"); 当这个按钮被点击的时候,你就可以用 ActionEvent 的 getActionCommand().equals("show") 去比较触发事件的是不是这个按钮


          IP属地:海南5楼2010-05-22 02:31
          回复