搜狐首页-新闻-体育-娱乐-财经-IT-汽车-房产-家居-女人-TV-ChinaRen-邮件-博客-BBS-搜狗 

数码天下 > 网狐学园-全中国人的电脑学习中心 > 程序开发-网狐学园 > 程序设计其他
如何用 JavaHelp 系统开发和交付更好的文档
时间:2006年01月17日09:17 我来说两句(0)  

 


 将 JavaHelp 添加到应用程序中

  现在您已经为应用程序开发了一个帮助信息系统,那么接下来的问题很自然就是如何如何将该系统加入到您的应用程序当中。 将帮助信息系统集成到应用程序中所需代码的数量取决于您希望将该帮助信息系统作为应用程序的一部分,还是希望将该帮助信息系统作为另外一个独立的应用程序,例如,当单击帮助按钮时,就显示出该窗口。
然而,在两种情况下,将 JavaHelp 添加到一个应用程序中就和下面的 1-2-3 一样容易:

  • 创建 HelpSet 和 HelpBroker 对象。
  • 将帮助赋给单个组件。
  • 为单个组件添加适当的帮助回调。

      示例代码 6 显示了如何将上面所开发的帮助信息系统添加到一个应用程序中,当选中帮助菜单项时,系统会显示出帮助信息窗口。作为一个练习,您可能希望对代码进行重新的设计,使其能够容易的集成到任何的应用程序当中。

      示例代码 6: HelpMenu.java
    import java.net.*;  
    import javax.help.*;  
    import javax.swing.*;  
    import java.awt.event.*;  
    
    public class HelpMenu {  
       JFrame f;  
       JMenuItem topics;  
    
       public HelpMenu() {  
         f = new JFrame("Menu Example");  
         JMenuBar mbar = new JMenuBar();  
        
         // a file menu  
         JMenu file = new JMenu("File");  
         JMenu help = new JMenu("Help");  
    
         // add an item to the help menu  
         help.add(topics = new JMenuItem("Help Topics"));  
    
         // add the menu items to the menu bar  
         mbar.add(file);  
         mbar.add(help);      
    
      // 1. create HelpSet and HelpBroker objects  
         HelpSet hs = getHelpSet("sample.hs");   
         HelpBroker hb = hs.createHelpBroker();  
    
         // 2. assign help to components  
         CSH.setHelpIDString(topics, "top");  
        
         // 3. handle events  
         topics.addActionListener(new CSH.DisplayHelpFromSource(hb));  
    
         // attach menubar to frame, set its size, and make it visible  
         f.setJMenuBar(mbar);  
         f.setSize(500, 300);  
         f.setVisible(true);  
       }  
    
       /**  
        * find the helpset file and create a HelpSet object  
        */  
       public HelpSet getHelpSet(String helpsetfile) {  
          HelpSet hs = null;  
          ClassLoader cl = this.getClass().getClassLoader();  
         
          try {  
            URL hsURL = HelpSet.findHelpSet(cl, helpsetfile);  
            hs = new HelpSet(null, hsURL);  
          } catch(Exception ee) {  
            System.out.println("HelpSet: "+ee.getMessage());  
            System.out.println("HelpSet: "+ helpsetfile + " not found");  
          }  
          return hs;  
       }  
    
       public static void main(String argv[]) {  
          new HelpMenu();  
       }  
    }  
    
      实验该代码的最简单的方法是将 HelpMenu.java 拷贝至 c:\myhelp下。编译并运行它。如果一切正常,您会看到类似图 5 的情况。如果单击帮助主题(   
    Help Topics), 那么就会出现图 4 中的帮助信息窗口。 
     
    图 5: 单击帮助主题以调用 helpset 查看器

      基于服务器的帮助

      JavaHelp 2.0 的一个新的功能特点是基于服务器的帮助( server-based help)。这是一个重要的功能,可使 JavaHelp 在浏览器窗口为基于 web 的应用程序提供帮助信息。使用新的 JavaHelp JST 标签库,可以很容易的将帮助信息添加到基于 web 的应用程序中。工作流程是:当浏览器发出一个 JSP 请求,Java 服务器将该请求转换成一个 Java Servlet,它使用 JavaHelp 库(jh.jar)和 JavaHelp 标签库(jhtags.jar)中的类从 helpset 中访问适当的信息,并向浏览器返回 HTML,也可能是 JavaScript 或者动态 HTML。图 6 显示的是一个基于 Web 的应用程序的帮助信息示例。

    Figure 6: Server-based help
    图 6:基于服务器的帮助



      结束语

      JavaHelp API 是需要运行于异构环境当中的在线帮助信息系统之作者和开发人员的首选技术。JavaHelp 系统可为开发人员增值,并提供完整的软件应用程序,同时无需对编程和开发进行大量投资。此外,许多公司已经认可了 JavaHelp 系统,并计划使用该 API 来建立统一的界面,以进行显示和在内部和外部文档间导航。

      本文中的示例代码描述了如何创建帮助信息文档,这些文档可以很容易的集成到新的和现有的应用程序当中。

    热门新闻排行
    01 广州Vista盗版江湖调查 全部破解版本大曝光
    02 Windows Vista不兼容的应用程序,还有谁?
    03 中国海贼版Vista入侵日本 "番茄花园"打头阵
    04 挑战视觉享受极限 五款流行多媒体播放器比拼
    05 Vista SP1发布计划已定 Windows XP SP3不再来
    热门教程排行
    01 安装系统不求人 就算没有光驱和软驱也能行
    02 让电脑运转如飞 Windows Vista九则加速技巧
    03 逐一辩驳:破解Windows Vista的四个性能谣言
    04 专家经验谈:Excel工作表的几点设计策略
    05 整容大法!Photoshop简单教程之美女去斑篇
    蜘蛛侠主题Mod美图赏

    蜘蛛侠主题Mod美图赏
    两款可爱的iPod音箱

    两款可爱的iPod音箱
    小心别丢了 全球最袖珍5款科技玩意

    全球最袖珍5款科技玩意
    最强的概念车设计:超级巴士

    概念车设计:超级巴士
    LLADRó瓷器诠释人性情感

    LLADRó瓷器诠释人性
    德国家具设计精选作品

    德国家具设计精选
    最具创意的多功能床(图)

    最具创意的多功能床
    2006离生活最近的创意

    2006离生活最近的创意
    欢迎访问:软件频道 下载频道 网狐学院 数字艺术 考试 病毒与安全 创意赏析

    出处: blog


    [上一页][1][2][3][4][5]

    (责任编辑:luwei)



  • 共找到 个相关新闻.


    我来说两句 全部跟贴(0条) 精华区(0条) 辩论区(0条)

    用户:  匿名发表:  隐藏地址:


    设为辩论话题      


    精彩图片新闻


    激情四溢沙滩宝贝


    数码公社专栏

    相关链接





    搜狐短信 小灵通 性感丽人 言语传情
    三星图铃专区
    [周杰伦] 千里之外
    [誓 言] 求佛
    [王力宏] 大城小爱
    [王心凌] 花的嫁纱
    精品专题推荐
    短信企业通秀百变功能
    浪漫情怀一起漫步音乐
    同城约会今夜告别寂寞
    敢来挑战你的球技吗?
     精彩生活 

    星座运势 每日财运
    花边新闻 魔鬼辞典
    情感测试 生活笑话


    今日运程如何?财运、事业运、桃花运,给你详细道来!!!





    菊花台
    迷迭香
    青青河边草
    丁香花
    原来你也在这里
    爱如空气
    不要再来伤害我

    公社热图


    ·北美惊现若干神秘UFO/图
    ·范冰冰真空写真露点[图]
    ·传说中国内第一美女车模


    频道精彩推荐

    ·关注2006年铁路春运
    ·2006年北京两会
    ·2006年德国足球世界杯
    ·李宇春发单曲张朝阳捧场
    ·猫扑网将收购DONEWS
    ·2005年经济回顾
    ·东风标致206正式下线
    ·春节晚会
    ·达喀尔拉力赛
    ·禽流感疫情






    不怕不怕
    吉祥三宝
    桃花朵朵开
    千里之外
    大城小爱
    梁祝
    迷糊娃娃可爱粉红卡通
    四季美眉给你最想要的

    news
    搜狐分类 ·搜狐招商


    创意就是这么简单
    女星豪乳尺码大曝光
    ·现场抓拍明星着透视装
    ·芙蓉二代横空出世
    ·央视女主持辞职拍艳照
    ·徐若瑄15岁全裸写真曝光
    ·拍摄:娱乐圈性交易过程
    ·抓拍模特海滩宽衣解带
    ·外国女生流行拍的艺术照
    ·台湾十大波霸照片大比拼
    ·网络美女全裸人体摄影
    ·范冰冰终于还是脱了

    推荐企业
    2006年世界电信展 诺基亚 瑞星 联想 摩托罗拉 三星 清华紫光 金山 索尼爱立信 索尼
    给编辑写信



    设置首页 - 搜狗输入法 - 支付中心 - 搜狐招聘 - 广告服务 - 客服中心 - 联系方式 - 保护隐私权 - About SOHU - 公司介绍 - 全部新闻 - 全部博文
    Copyright © 2018 Sohu.com Inc. All Rights Reserved. 搜狐公司 版权所有
    搜狐不良信息举报邮箱:jubao@contact.sohu.com