首页 相关文章 利用Observer模式实现组件间通信

利用Observer模式实现组件间通信

1. 问题的提出 
  
  以前做一个界面的时候经常会碰到这样的尴尬情况:希望保留各个独立的组件(类),但又希望它们之间能够相互通信。譬如Windows中的EXPlorer,我们希望鼠标点击左边是树型目录的一个节点,右边的文件浏览能及时列出该节点目录下的文件和子目录,类似这样一个简单的应用,假如只有一个类继续JFrame,而树型组件和浏览文件的面板作为成员,就像:
  
  public class MainFrame extends JFrame
  {
  JPanel treePanel;
  JTree tree;
  JPanel filePanel;
  ...
  }
  
  这样当然轻易在两者之间传递消息,但是可扩展性较差。通常轻易想到的是两种办法:在一个组件里保留另一个组件类型的成员,初始化时作为参数传入引用,比如:
  
  class TreePanel extends JPanel
  {
  JTree tree;
  ...
  }
  
  class FilePanel extends JPane...[ 查看全文 ]

2016-02-19 标签:

利用Observer模式实现组件间通信的相关文章

手机页面
收藏网站 回到头部