摘要: 2.2.2 使用属性变化监听器作为观察者除了基本的事件委托机制以外,JavaBean引入另一种观察者设计模式的变体,这次是通过属性变化监听器。PropertyChangeListener实现是观察者模式的确切表示。每一个观察者观察Subject的一个属性的变化。当Subject中发生变化时,观察者会被通知新的状态。图2-4显示了与JavaBean库中用于属性变化处理的特定类相关的观察者模式结构。在这种情况下,可观察的Subject具有一个add/remove属性变化监听器方法集合以及一个状态被监视的属性。 使用PropertyChangeListener,注册的监听器集合是在PropertyC 阅读全文
posted @ 2011-03-08 20:14 jlins 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 2.2 多线程的Swing事件处理为了提高其效率并降低其复杂性,所有的Swing组件都被设计为非线程安全的。尽管这听起比较恐怖,他只是简单的意味着对Swing组件的所有访问需要由一个单一线程完成--事件分发线程。如果我们并不确定我们位于一个特定的线程中,我们可以使用public static boolean isDispatchThread()方法请求EventQueue类或是通过public static boolean isEventDispatchThread()方法请求SwingUtilities类。后者只是作为前者的代理。 通过EventQueue类的帮助,我们可以创建Runnabl 阅读全文
posted @ 2011-03-08 18:15 jlins 阅读(251) 评论(0) 推荐(0) 编辑