快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
;      homeButton = (XUIButton)xui.getXUIComponent("button_1");      ...      List bookmarks = bookmarksList.getItems();      for(int i = 0; i < bookmarks.size(); i++) {        String url = (String)bookmarks.get(i);        XUIMenuItem aMenuItem = XUIComponentFactory.makeMenuItem(url);        bookmarksMenu.addMenuItem(aMenuItem);        linkModel.addSource(aMenuItem);        aMenuItem.addEventListener(linkModel);      }      ...      homeButton.addEventListener(this);      ...    } ... }

清单 10 显示了针对各种组件的事件处理代码,例如:

openMenuItem 将导致一个 fileDialog 出现(一个模式对话框将打开一个本地存储的Web 网页)。

homeButton 和 popuphomeMenuItem(在窗口中通过单击右键访问)都会调用 doHome 方法,该方法将浏览器导向 HypertextPane 元素(参见 清单 8)的uri 属性值。

fileDialog 将加载一个新文件,然后递增 index 变量,应用程序的queue 使用该变量跟踪此前访问过的Web 页面。

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

时间:2011-01-28 IBM Arron Ferguson

清单 10. 部分代码清单:事件处理

public void action(XUIComponent component)    {      if(component == openMenuItem) {        fileDialog.setVisible(true);      } else if(component == homeButton || component == popuphomeMenuItem) {        doHome();      } else if(component == prevButton || component == popupprevMenuItem) {        doPrevious();      } else if(component == nextButton || component == popupnextMenuItem) {        doNext();      } else if(component == fileDialog) {        if(fileDialog.getSelectedFile() !=null)          hyperTextPane.setURL(fileDialog.getSelectedFileAsURL());        index++;        if(index != queue.size()) {          nextButton.setEnabled(false);          popupnextMenuItem.setEnabled(false);          for(int i = index; i < queue.size(); i++) {            queue.remove(i);          }        }        queue.add(hyperTextPane.getURL());        prevButton.setEnabled(true);        popupprevMenuItem.setEnabled(true);      } else if(component == saveDialog) {        try {          FileOutputStream fos = new FileOutputStream(saveDialog.getSelectedFile());          hyperTextPane.getDocument().writeTo(fos);        } catch (FileNotFoundException fnfe) {          fnfe.printStackTrace();        } catch (IOException ioe) {          ioe.printStackTrace();        }      } else if(component == popupsaveasMenuItem || component == saveMenuItem) {        saveDialog.setVisible(true);      } else if(component == popupbookmarkMenuItem || component == bookmarkMenuItem) {        doBookmark(hyperTextPane.getURL());      } else if(component == notDontExit) {   

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