WEB开发网
开发学院软件开发Java 创建一种声明性 XML UI 语言:用 Java 语言构建一... 阅读

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

 2009-10-19 00:00:00 来源:WEB开发网   
核心提示: 注意,清单中没有存储任何易变的状态信息 — 只保护可能有助于 GUI 组件重建的状态信息,创建一种声明性 XML UI 语言:用 Java 语言构建一个 UI 和配套框架(6),其中一个例子是 CustomDialog 元素的状态信息:对话框中允许的 Panel 元素的数量对话框是否

注意,清单中没有存储任何易变的状态信息 — 只保护可能有助于 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(); 
} 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:创建 声明 XML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接