WEB开发网
开发学院软件开发Java 了解 Eclipse 中的 JFace 数据绑定,第 1 部分: 数... 阅读

了解 Eclipse 中的 JFace 数据绑定,第 1 部分: 数据绑定的优缺点

 2009-12-14 00:00:00 来源:WEB开发网   
核心提示: 我会在后面介绍详细的实现方法,现在,了解 Eclipse 中的 JFace 数据绑定,第 1 部分: 数据绑定的优缺点(3),请注意那些在与第一个示例对比时所没有的内容:没必要仅因为要同步而公开对组件的引用,这些引用不会被传播到构建程序范围之外,JTextField 将与 FormBean 的

我会在后面介绍详细的实现方法。现在,请注意那些在与第一个示例对比时所没有的内容:

没必要仅因为要同步而公开对组件的引用。这些引用不会被传播到构建程序范围之外。

未提供任何一种同步方法。

构建程序中没有初始同步过程用于填充组件。

显示对话框之前没有同步操作。

不管所有这些条目现在都已丢失的事实,此示例将完全执行与第一个示例相同的操作。

JGoodies 数据绑定实现细节

介绍整个 JGoodies 数据绑定框架不在本文讨论范围内。但是,看一看 清单 2 所示的示例的实现细节十分有用。下面的两行揭示了所有奥秘:

BeanAdapter adapter = new BeanAdapter(bean);

JTextField firstField = BasicComponentFactory.createTextField(adapter.getValueModel("first"));

第一行用于创建一个 JGoodies 对象,名为 BeanAdapter,该对象用于创建值模型对象。值模型用于定义一种一般方法来访问 JavaBean 属性,而无需知道该属性名称的详细信息。清单 3 显示了 ValueModel 接口定义。


清单 3. ValueModel 接口
public interface ValueModel { 
  java.lang.Object getValue(); 
 
  void setValue(java.lang.Object object); 
 
  void addValueChangeListener(PropertyChangeListener propertyChangeListener); 
 
  void removeValueChangeListener(PropertyChangeListener propertyChangeListener); 
} 

BasicComponentFactory 类含有创建 Swing 组件的方法,这些组件将与提供的 ValueModel 绑定在一起。第二行将使用 BasicComponentFactory 来创建一个 JTextField。在这种情况下,JTextField 将与 FormBean 的 "first" 属性绑定在一起。JGoodies 数据绑定 API 将执行用来源于 FormBean 的数据对文本字段进行初始化操作的其余过程,它还将在文本字段中所作的所有更改都同步回 FormBean 中。

上一页  1 2 3 4 5 6 7  下一页

Tags:了解 Eclipse JFace

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接