Java 可视编辑器提供了一个由接口和类组成的通用框架,这些界面和类帮助您将可视组件绑定至数据源(如企业 bean、Java bean 工厂或 Web Service)。
表或文本字段之类的可视组件需要可从中推送数据的数据源。Java 可视编辑器提供三种类型的 helper 类,它们可以在项目中生成以允许简单快速地将可视组件与数据源中数据绑定在一起。这些 helper 类的目的并非提供运行时框架以将数据绑定至可视组件,而是帮助用户快速开始客户机应用程序的可视开发。
这三种类型的 helper 类包括数据源、数据对象和绑定程序,每一种类型都将在下面详细讨论。可视编辑器为不同的受支持 Swing 组件生成特定于 Swing 的绑定程序类,而数据源和数据对象类则完全独立于可视组件,从而允许在将来支持其它窗口小部件库。
要了解提供的通用绑定程序类的 Javadoc,请参阅绑定程序的 API 参考。
要了解使用 Java 可视编辑器绑定程序以连接至数据源的信息,请按下列教程进行操作:
教程:构建使用 Web Service 的 Java 富客户机。
以下列表描述绑定可视组件时由 Java 可视编辑器生成并实例化的绑定程序类的一些优点:
将可视组件绑定至数据源和数据对象时,将根据需要在项目源目录中生成绑定程序代码。在缺省情况下,生成的类将添加至项目中的 jve.generated 包。这样,您就可以自由地扩展、替换或重写数据绑定逻辑。Java 可视编辑器为正确实现所提供接口的数据对象、数据源和绑定程序提供可视支持。
图 1. Java 可视编辑器将可视组件绑定至数据对象和数据源的方式的高级概述
数据源表示数据工厂。它可能基于 EJB 会话 bean、Web Service、Java Bean 工厂或实现 IDataSource 接口的任何对象。可视编辑器中适当配置的数据源从实际数据工厂返回一组可用服务,以使它们可供应用程序使用。
数据源可被视作外观的工厂。数据源提供允许数据源外观实例化和初始化的配置属性。外观是一个提供了一组方法的类,这些方法可以从后端创建数据对象或提供一些其它业务功能。在运行时期间,getDataSource() 接口被用来获取外观的实例。将由数据源实现者决定以确保外观适当实例化。例如,“EJB 数据源”在调用 getDataSource() 之前调用 home 接口以创建指定的会话 bean。getType() 必须返回外观类的类型(类)。此 API 是在设计时调用的,主要用于方法自省。
数据对象会合并 Java 对象来管理它,并为它提供事件更改支持。目标对象可通过 IBoundObject 接口上的 getObject() 方法访问。
Java 可视编辑器实现了若干数据对象类型,并且这些数据对象类型在选用板中可用:
在图 1 中,文本字段被绑定至表示数据对象(该数据对象由对 Service2(param) 的调用返回)的数据源数据对象中的属性。在此发行版中,helper 类仅支持采用一个自变量或不采用自变量的服务。作为变通方法,可以合并另一个服务中的一组自变量。
在前面的图中,可视表被绑定至表示一组数据对象(通过对数据源调用 Service1 返回)的数据源行对象。表中的列将映射至数据源行对象中的各个字段。
图 1 显示:行表绑定程序侦听可视表中的所选行并为该行提供基本数据对象。然后,会将该基本数据对象用作 Service2(param) 的参数以返回数据源数据对象。图 1 中的文本字段将绑定至此数据源数据对象。
这与行表绑定程序相似,即直接从数据源的服务调用来获取其行数据。
在图 1 中,文本绑定程序将可视文本字段绑定至 Service2(param) 返回的数据源数据对象中的属性。图 1 中 Service2 的参数是从表中所选行(可能标识之类的键字段)中收集来的。在此示例中,Service2 可能会返回有关可视表中所选行的其它属性。例如,可视表可能列示所有职员及其姓氏和职员标识。所选行的职员标识将用作 Service2 的参数,它可能会返回职员的完整记录(包括职员的薪水)。于是,文本字段可绑定至由 Service2 返回的数据源数据对象中的薪水属性。
Java 可视编辑器支持将 JButtons 绑定至操作。将按钮绑定至操作绑定程序时,此操作绑定程序可以在操作的自变量更改时自动更改按钮的启用状态。例如,调用服务调用的操作绑定程序可以在该服务调用的参数更改时更改按钮的启用状态。
例如,在图 1 中,按钮的操作绑定程序将文本字段绑定至的数据对象用作它的参数。所以,如果文本字段中的文本更改,则按钮的操作绑定程序会检测到数据对象已更改并且操作绑定程序会通知按钮变为启用。然后,如果单击该按钮,则操作绑定程序将采用新的数据对象(文本字段中出现更改后的值)并对数据源调用 Service3(param)。
在图 1 中,文本过滤器绑定程序将文本字段(未显示在图中)绑定至表中的特定列。
再次特别指出,生成的类和接口只是一个快速简便的方法,目的在于让您熟悉将可视组件绑定至数据对象和服务。Java 可视编辑器生成的绑定程序并不表示一个框架,而是与 Java 可视编辑器一起正常工作的常规缺省实现。可在生成的包中增强和定制类和接口以满足应用程序和数据源的特定需要。如果增强了类,可视编辑器仍然会为它们提供可视支持(只要它们正确实现提供的接口)。