Beans Binding、Swing Application Framework 以及希望在 IDE 中实现的其它特性
自NetBeans 5.0 以来,人们最常谈及的且具有创新性的特性是 Project Matisse 或 Form Editor。许多人都认为,在不同 IDE 产品和技术中, Matisse 是最好的用户界面设计器。因此,许多开发人员开始使用 NetBeans。
对于软件来说,革新和发展是永远没有尽头的。在本文中将看到,NetBeans 6.0 中许多新的 Matisse 特性有助于改进 Swing 应用程序的开发。
Beans Binding 和 Swing Application Framework
在基于最新的 JCP 规范 Beans Binding(JSR 295)和 Swing Application Framework(JSR 296)构建应用程序方面,NetBeans 6.0 为桌面开发人员提供了一些方便的特性;他们还会从更高效的开发中获益。一般的 Swing 应用程序开发人员会从 NetBeans 中的 Swing Application Framework 改进中获得比较大的收益,但是平台开发人员也不是一无所获。在 NetBeans Platform 中已经建立了一个基于 Swing 的应用程序框架,它提供的特性比 JSR 296 多得多。但是,Beans Binding 支持提供了更大的收益。
Beans Binding 支持
Beans Binding 免去了在用户界面组件和数据类或 JavaBean 之间复制数据的繁琐工作。有了新的 Beans Binding 改进,就可以通过右击 UI 元素来访问 Bind 上下文菜单项。例如,选择某个javax.swing.JTextField 的这个菜单项,就会显示首选的绑定属性 text(见图1)。可以通过属性检查器的 Binding 选项卡访问其它属性(图2)。
图 1. Beans Binding 菜单项
图 2. 为 JTextField 设置 Beans Binding 选项
选择了要绑定的属性之后,显示一个对话框,可以在这里选择目标 JavaBean。然后可以输入一个使用 Beans Binding Expression Language 的表达式。这种语言的语法与 JSP EL 非常相似。除了手工输入表达式之外,还可以使用一个选择器(它是以下拉列表或组合框访问的形式来访问的),通过展开属性和子属性快速构建表达式。
在运行应用程序时,当选择的 UI 组件失去焦点或用户按回车时,它会更新它的绑定组件。重点是开发人员不再编写大量事件处理代码,来管理这个操作和其它操作。