跳至内容 Java Solaris 社区 Sun 商店 加入 SDN 我的个人档案 加入的益处
 
Sun Java Studio Creator 2 的设计时 API
作者:Beth Stearns 和 Joe Nuxoll  
组件开发者,即实现可导入到 IDE 中的组件或相互协同操作的组件集合(称为“组件库”)的开发者,他们可以使用 Creator 设计时 API 为其用户定制和增强 Sun Java Studio Creator 2 IDE 设计时体验。Java Studio Creator 设计时 API 是一种内容丰富的设计时交互 API,它符合 JSR-273 规范并由 Sun Java Studio Creator 2 托管。组件开发者可以通过该设计时 API 扩展 JavaBeans 规范和 API,从而可以在设计时功能性的基础上添加自已的改进功能。此外,组件开发者还可以将这些改进功能应用到其他 IDE 的可视设计环境中。

组件是具有属性、方法和事件的简单 Java 类,它可以是可视的或不可视的,可以基于服务器或基于客户端。属性会影响组件的外观及行为,您可以在设计和运行期间处理这些属性。运行期间,将调用组件中的方法(也称为“操作”),从而让组件执行具体的操作。组件会在其生命周期中广播事件(即运行时消息),以表明其状态的某些更改。

Sun Java Studio Creator 2 IDE 包括一个可视的设计环境,利用该环境可以拖放式创建可视和非可视的应用程序。组件开发者可以利用此 API 访问 IDE 的可视设计环境中提供的大量设计时交互。利用此 API,组件开发者还可以通过鼠标交互来定制用户的设计时体验。这包括扩展诸如拖放及链接等鼠标操作。开发者还可以利用此 API 创建定制的上下文菜单、执行定制的呈现内容,以及定制属性编辑器。此外,开发者可以将定制器添加到 IDE 中,并将这些定制器置于上下文醒目的位置。

组件开发者(特别是熟悉 JavaBeans 模型的开发者)应该会发现 Java Studio Creator 设计时 API 使用起来非常方便。Creator 设计时 API 已经与 JavaBeans API 紧密结合在一起,但是对该 API 进行扩展则可以更好地处理可视设计环境中活动组件对象的设计时操作。JavaBeans 组件模型涵盖了定义构成组件的属性、方法和事件的大多数需求,甚至包括许多设计时操作的详细信息,例如属性编辑器和定制器。然而,JavaBeans 组件模型虽然具有很多优点,但是它在某些方面仍然存在缺陷。

Java Studio Creator 设计时通过添加一组有助于完成某些重要设计时任务的接口来扩展 JavaBeans 模型。其中一项主要的扩展是一组维护设计时上下文信息的接口。此上下文信息简化了彼此绑定的组件(例如与表中的列绑定的数据识别文本字段)的使用。

另一项扩展是处理持久性的生成。IDE 必须能够永久保留用户在该工具的可视编辑器中执行的操作。Java Studio Creator IDE 会在页面的支持 JSP 文件和 Java 源代码文件(即 Page1.jsp 和 Page1.java 源代码)中直接存储用户操作。而其他的 IDE 则通常使用应用程序的实际源代码来永久保留可视设计更改。此外,Java Studio Creator 设计时 API 包括一组在 IDE 中实现的接口,这些接口可确保 IDE 生成正确的源代码。为实现此功能,这些接口会安排活动对象的所有设计时直接操作。因此,当您需要使用 Java Studio Creator 设计时 API 设置属性值时,应首先从正在处理的 DesignBean 中检索要设置的 DesignProperty,然后,调用 DesignProperty.setValue(Object) 方法或 DesignProperty.setValueSource(String) 方法,这两种方法都会让 IDE 将该属性设置为指定的值,同时生成相应的源代码。

此外,Java Studio Creator 设计时 API 还为组件开发者提供了设计期间完全访问活动事件关联的权限。这些活动事件关联包含类似生成和查询等任务。也就是说,组件开发者可以(如果需要)访问由定制器、属性编辑器生成的事件关联,或者通过右键单击组件,在出现的上下文菜单中访问事件关联。

Java Studio Creator 设计时 API 包含的另一项重要功能是能够完整地处理组件(可视组件和非可视组件)的整个分层结构。组件开发者可通过此项功能启用定制器、属性编辑器或(通过右键单击)上下文菜单项,以便对一组 JavaBeans 组件的包含关系分层结构进行更改。标准的 JavaBeans 模型不允许组件开发者在设计期间动态创建新实例,或处理包含关系。例如,组件开发者可以利用 Java Studio Creator 设计时 API 为数据网格组件创建定制器,并且基于用户在定制器中的输入内容,使该 API 完全更改数据网格组件下的包含关系分层结构。用户可以使用定制器在数据网格组件的现有列中创建一组列和字段。组件开发者还可以在用户处理“定制器”对话框的同时,使用该 API 创建帮助器组件和类的实例。开发者甚至可以在“应用”或“取消”操作的后台对这些操作进行批处理。

Java Studio Creator 设计时 API 对 JavaBeans 模型的设计时鼠标交互进行了扩展。该 API 包括在设计时与活动 JavaBean 组件的完整上下文鼠标交互。组件开发者可以利用这一功能以特定于组件的方式定义这些鼠标交互。这有什么要求吗?设计期间,开发者可能需要单击标签化窗格组件中的标签来选择特定的窗格。此操作看似简单,但却不能通过标准 JavaBeans 模型得以实现。其他的 IDE 供应商为这些交互添加了固定编码且特定于组件的解决方案,某些解决方案已被添加到 Swing 库中。但是,利用 Java Studio Creator 设计时 API,任何组件开发者都可以在设计时进行鼠标交互。

如果您是一位组件开发者,则应当了解 Java Studio Creator 设计时 API 的详细信息。有关 Creator 设计时 API 的详细信息,请参见 API 规范页。