快速业务通道

创建一种声明性XML UI语言 - 用Java语言构建一个UI和配套框架 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
lt;xs:attribute name="enabled" type="xs:boolean" use="required"/>    <xs:attribute name="selected" type="xs:boolean" use="required"/>    <xs:attribute name="id" type="xs:ID" use="required"/>    <xs:attribute name="orientation" use="required">     <xs:simpleType>      <xs:restriction base="xs:token">       <xs:enumeration value="horizontal"/>       <xs:enumeration value="vertical"/>      </xs:restriction>     </xs:simpleType>    </xs:attribute>   </xs:complexType> </xs:element> ...

创建一种声明性XML UI语言 - 用Java语言构建一个UI和配套框架(4)

时间:2011-01-28 IBM Arron Ferguson

注意,清单中没有存储任何易变的状态信息 — 只保护可能有助于 GUI 组件重建的状态信息。其中一个例子是 CustomDialog 元素的状态信息:

对话框中允许的Panel 元素的数量

对话框是否是模式对话框(模式对话框直到用户关闭对话框时才捕捉焦点)

桌面中的坐标(x 和 y,以像素为单位)

大小(宽度和高度,以像素为单位)

窗口的可见性

Panel 是一个中级容器,可以包含相当多的原子组件。再看一下 清单 3,Panel 拥有一个 GridLayout,可以选择在 Panel 内不放置原子组件,也可以根据需要放置任意数量的原子组件。Panel 本身具有 x 和 y 坐标。Panel 使用 x 和 y 坐标引用父容器的GridLayout 中的定位,而不是引用桌面中的像素(就像 CustomDialog 一样)。就像俄罗斯玩偶一样,这种嵌套构造法非常类似于 Swing 的布局规则。了解上述基本知识后,现在可以解决软件实现问题了。

支持的Java 框架

我们首先简要介绍建议的Java 框架。清单 4 展示了程序员创建应用程序时必须遵循的步骤:

清单 4. Java API 调用概念

try {    // Gain access to a XUI builder through factory    // In this framework the term XUI is going to represent the custom DOM    XUIBuilder builder = XUIBuilderFactory.getInstance().getXUIBuilder(); // (1)    // Validate and parse (unmarshal) the XML document    builder.parse("browser.xml"); // (2)    // Build a custom DOM    XUI xui = builder.getXUIDocument(); // (3)    // Create 1:1 GUI component mapping to custom DOM    xui.visualize(); // (4) (5)    // Create bindings to data model (i.e. JAR file from Resource element)    xui.bind(); // (6)    // Get root node from the XUI document    XUINode root = xui.getRoot();    // Save a copy of the DOM to file (marshal)    xui.marshalXUI("browser-marshalled.xml"); } catch (XUIParseException xpe) {    xpe.printStackTrace(); } catch (XUIBindingException xbe) {    xbe.printStackTrace(); } catch (IOException ioe) {    ioe.printStackTrace(); }

创建一种声明性XML UI语言 - 用Java语言构建一个UI和配套框架(5)

时间:2011-01-28 IBM Arron Ferguson

清单 4 清晰地定义了功能的分离,允许进一步优化框架的组件。图 1 试图可视化这个工作流。图 1 中的每个圈起来的数字对应 清单

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号