数据绑定程序概述

Java 可视编辑器提供了一个由接口和类组成的通用框架,这些界面和类帮助您将可视组件绑定至数据源(如企业 bean、Java bean 工厂或 Web Service)。

表或文本字段之类的可视组件需要可从中推送数据的数据源。Java 可视编辑器提供三种类型的 helper 类,它们可以在项目中生成以允许简单快速地将可视组件与数据源中数据绑定在一起。这些 helper 类的目的并非提供运行时框架以将数据绑定至可视组件,而是帮助用户快速开始客户机应用程序的可视开发。

这三种类型的 helper 类包括数据源、数据对象和绑定程序,每一种类型都将在下面详细讨论。可视编辑器为不同的受支持 Swing 组件生成特定于 Swing 的绑定程序类,而数据源和数据对象类则完全独立于可视组件,从而允许在将来支持其它窗口小部件库。

要了解提供的通用绑定程序类的 Javadoc,请参阅绑定程序的 API 参考

要了解使用 Java 可视编辑器绑定程序以连接至数据源的信息,请按下列教程进行操作:

教程:构建使用 Web Service 的 Java 富客户机

以下列表描述绑定可视组件时由 Java 可视编辑器生成并实例化的绑定程序类的一些优点:

将可视组件绑定至数据源和数据对象时,将根据需要在项目源目录中生成绑定程序代码。在缺省情况下,生成的类将添加至项目中的 jve.generated 包。这样,您就可以自由地扩展、替换或重写数据绑定逻辑。Java 可视编辑器为正确实现所提供接口的数据对象、数据源和绑定程序提供可视支持。

图 1. Java 可视编辑器将可视组件绑定至数据对象和数据源的方式的高级概述
说明在 Java 可视编辑器中使用的可视组件、绑定程序、数据对象与数据源之间的关系的图

该图说明下列将可视组件绑定至数据的 Java 可视编辑器过程的主要部分:
数据源

 可视编辑器选用板上的数据源

数据源表示数据工厂。它可能基于 EJB 会话 bean、Web Service、Java Bean 工厂或实现 IDataSource 接口的任何对象。可视编辑器中适当配置的数据源从实际数据工厂返回一组可用服务,以使它们可供应用程序使用。

数据源可被视作外观的工厂。数据源提供允许数据源外观实例化和初始化的配置属性。外观是一个提供了一组方法的类,这些方法可以从后端创建数据对象或提供一些其它业务功能。在运行时期间,getDataSource() 接口被用来获取外观的实例。将由数据源实现者决定以确保外观适当实例化。例如,“EJB 数据源”在调用 getDataSource() 之前调用 home 接口以创建指定的会话 bean。getType() 必须返回外观类的类型(类)。此 API 是在设计时调用的,主要用于方法自省。

Java 可视编辑器为下列实现 IDataSource 接口的数据源类型提供缺省支持:
EJB 数据源 可视编辑器选用板上的数据源
EJB 数据源提供了一个简便的方法来管理与企业 bean 的连接,以使该 bean 的服务可用作要使用的应用程序的方法。
注: 创建 EJB 数据源时,serviceLocatorMgr.jar 将添加至项目类路径。
Web Service 数据源 可视编辑器选用板上的数据源
Web Service 数据源用于配置与 Web Service 代理的连接。通过指定客户机代理的定位器类全限定类名和定位器类中 get service 方法来配置此数据源。
Java Bean 数据源 可视编辑器选用板上的数据源
Java Bean 数据源使用空构造函数来实例化 Java Bean 工厂。于是,该 bean 的 public 方法可用作服务方法。
数据对象

可视编辑器选用板上的数据对象

数据对象会合并 Java 对象来管理它,并为它提供事件更改支持。目标对象可通过 IBoundObject 接口上的 getObject() 方法访问。

Java 可视编辑器实现了若干数据对象类型,并且这些数据对象类型在选用板中可用:

数据源数据对象 数据源数据对象图标
数据源数据对象通过对数据源调用服务(方法)来直接获取其数据。这要求您指定提供数据的数据源并对该数据源指定特定服务。如果服务采用参数,可在数据源数据对象中定义服务自变量。

在图 1 中,文本字段被绑定至表示数据对象(该数据对象由对 Service2(param) 的调用返回)的数据源数据对象中的属性。在此发行版中,helper 类仅支持采用一个自变量或不采用自变量的服务。作为变通方法,可以合并另一个服务中的一组自变量。

Java Bean 数据对象 Java Bean 数据对象图标
Java Bean 数据对象通过使用由 Java bean 工厂提供的空构造函数创建 Java 对象。要定义 Java Bean 数据对象,指定 Java Bean 工厂及该工厂中为 Java 对象提供空构造函数的属性。
基本数据对象 基本数据对象图标
基本数据对象表示直接从另一数据对象检索的单个数据对象。要配置基本数据对象,只需要指定源对象和源对象中的属性(可选)。
数据源行对象 数据源行对象图标
数据源行对象表示按数据源上的服务调用进行检索的对象行(一组对象)。数据源行对象通常绑定至表。

在前面的图中,可视表被绑定至表示一组数据对象(通过对数据源调用 Service1 返回)的数据源行对象。表中的列将映射至数据源行对象中的各个字段。

绑定程序

可视编辑器选用板上的 Swing 绑定程序
绑定程序是将可视组件绑定至数据对象或数据源的元对象。可视组件与其绑定程序之间存在一对一的关系。数据对象和它进行交互的绑定程序之间存在一对多的关系。换句话说,多个可视组件可绑定至一个给定数据对象,但每个可视组件都需要它自己的绑定程序。
行表绑定程序 行表绑定程序图标
行表绑定程序是用来将可视表绑定至一组元素的元对象。此绑定程序包含要列示的列、列标题和可选过滤器的信息。表绑定程序还会实现基本数据对象(IDataObject 接口),该数据对象表示与行表绑定程序相关联的可视表上的所选对象。换句话说,表中所选行可用作基本数据对象。

图 1 显示:行表绑定程序侦听可视表中的所选行并为该行提供基本数据对象。然后,会将该基本数据对象用作 Service2(param) 的参数以返回数据源数据对象。图 1 中的文本字段将绑定至此数据源数据对象。

对象表绑定程序 对象表绑定程序图标
对象表绑定程序将表绑定至另一个 IDataObject 的数组属性,而不是绑定至源服务。

这与行表绑定程序相似,即直接从数据源的服务调用来获取其行数据。

文本绑定程序 文本绑定程序图标
文本绑定程序包含数据对象的绑定属性的字符串文本表示。此绑定程序用于将可视文本字段绑定至数据对象的属性。

在图 1 中,文本绑定程序将可视文本字段绑定至 Service2(param) 返回的数据源数据对象中的属性。图 1 中 Service2 的参数是从表中所选行(可能标识之类的键字段)中收集来的。在此示例中,Service2 可能会返回有关可视表中所选行的其它属性。例如,可视表可能列示所有职员及其姓氏和职员标识。所选行的职员标识将用作 Service2 的参数,它可能会返回职员的完整记录(包括职员的薪水)。于是,文本字段可绑定至由 Service2 返回的数据源数据对象中的薪水属性。

操作绑定程序 操作绑定程序图标
操作绑定程序用于将按钮直接绑定至数据源中可用的特定服务(方法)。操作绑定程序还包括可以控制绑定可视组件的状态和行为的事件侦听器和字段。操作绑定程序还为 beforeActionPerformed 和 afterActionPerformed 回调提供 ActionBinderListener 支持。

Java 可视编辑器支持将 JButtons 绑定至操作。将按钮绑定至操作绑定程序时,此操作绑定程序可以在操作的自变量更改时自动更改按钮的启用状态。例如,调用服务调用的操作绑定程序可以在该服务调用的参数更改时更改按钮的启用状态。

例如,在图 1 中,按钮的操作绑定程序将文本字段绑定至的数据对象用作它的参数。所以,如果文本字段中的文本更改,则按钮的操作绑定程序会检测到数据对象已更改并且操作绑定程序会通知按钮变为启用。然后,如果单击该按钮,则操作绑定程序将采用新的数据对象(文本字段中出现更改后的值)并对数据源调用 Service3(param)。

文本过滤器绑定程序 文本过滤器绑定程序
过滤器绑定程序提供了一种简单的机制,用于根据文本字段中的文本输入过滤表中的行。在过滤器绑定程序中,应设置将用于文本输入的可视文本字段,并对要过滤的行数据对象设置属性(表列)。

在图 1 中,文本过滤器绑定程序将文本字段绑定至表中的特定列。

再次特别指出,生成的类和接口只是一个快速简便的方法,目的在于让您熟悉将可视组件绑定至数据对象和服务。Java 可视编辑器生成的绑定程序并不表示一个框架,而是与 Java 可视编辑器一起正常工作的常规缺省实现。可在生成的包中增强和定制类和接口以满足应用程序和数据源的特定需要。如果增强了类,可视编辑器仍然会为它们提供可视支持(只要它们正确实现提供的接口)。

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.