快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
;CTRL"></xui:Shortcut>      </xui:MenuItem>     </xui:Menu>     <xui:Menu id="menu_2" idref="hyper_0" enabled="true" isPopupMenu="true"      isSubMenu="false" label="">      <xui:MenuItem id="mi_5" idref="menu_2" enabled="true"       label="Save As ..."></xui:MenuItem>      <xui:MenuItem id="mi_6" idref="menu_2" enabled="true" label="Previous"></xui:MenuItem>      <xui:MenuItem id="mi_7" idref="menu_2" enabled="true" label="Next"></xui:MenuItem>      <xui:MenuItem id="mi_8" idref="menu_2" enabled="true" label="Home"></xui:MenuItem>      <xui:MenuItem id="mi_9" idref="menu_2" enabled="true" label="Bookmark"></xui:MenuItem>     </xui:Menu>    </xui:MenuBar>   </xui:Window>   <!-- The library (model) code that drives the user interface -->   <xui:Resource type="java" class="BrowserModel" uri="BrowserModel.jar"/> </xui:XUI>

当然,如果没有用户交互,这个 UI 没有任何价值。下面就介绍如何进行用户交互。

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

时间:2011-01-28 IBM Arron Ferguson

Web 浏览器 Java 代码模型逻辑

在 清单 8 中,Resource 元素包含一个类名,该类充当进入应用程序模型的入口点。清单中给出的类名是 BrowserModel,因此,在 Java 端,已编译的类名必须与之匹配。类名包括名称空间,本例中为默认名称空间。

因此,任何类都可以充当进入应用程序的模型部分的入口点,只要它的名称与 Resource 元素的class 属性值相同。要让用户交互在运行时能够正确连接,实现类必须遵循以下几个规则:

使一个方法带有以下签名:public void init(XUI document)。

实现适当的事件处理接口以监听事件(比如用于 XUIButton 实现的ActionModel)。

使用 XML 元素的id 值引用 GUI 组件(这可以通过使用 XUI 中的几个方法实现)。

将自身作为监听器添加到适当的组件。这个框架中的所有事件生成组件(比如 XUIButton 类实现)都实现 XUIEventSource,因此都生成 UI 事件。

在 清单 9 中,BrowserModel 类在 init 方法中执行自己的初始化。初始化过程包括通过 id 值引用组件,创建包含 Web URL 书签的菜单项,通过 addEventListener 方法将自身作为一个监听器添加到多个组件。BrowserModel 可以将自身添加为一个监听器,因为它是一个 XUIModel(ActionModel 是 XUIModel 的子类型)。还有一点值得一提:XUIComponentFactory 类提供多种创建 XUI 组件的方法。

清单 9. 部分代码清单:初始化

... import org.purnamaproject.xui.binding.ActionModel; ... public class BrowserModel implements ActionModel, TextModel, WindowModel,    ListActionModel {    ...    private XUI xui;    ...    public void init(XUI document) {      xui = document;      ...      bookmarksList = (XUIList)xui.getXUIComponent("list_0")

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号