zoukankan      html  css  js  c++  java
  • JFace入门 环境搭建 for Eclipse 3.3版 标签: eclipseswtjavadoc文档libraryplugins 20080418 15:23

    关于本文

    本文所描述的环境基于Eclipse 3.3;
    本文假定你对Eclipse、SWT和RCP有一定了解;
    由于本人喜好一目了然的排版,本文将以最简的方式描述各个操作步骤,除非必要,否则不带插图。

    JFace介绍

    @http://wiki.eclipse.org/index.php/JFace

    JFace是一个UI工具类集,用于处理许多通用UI编程任务。 JFace无论是从API或其实现都是Window-System-Independent(视窗系统无关)的,设计与SWT共同工作而并非完全替代。JFace包含常用UI工具组件如:图像和字体记录、文本、对话框、设置和向导框架,以及长时操作进度报告(进度条等)。还有两个更有趣的特性Actions和Viewers。Action机制允许定义用户命令并独立于其在UI中的确切所在。Viewers是基于模型的SWT Widgets适配器,简化了应用程序数据结构的表述,例如Lists、Tables、Trees。

    JFace介绍

    @The_Official_Eclipse_FAQs

    JFace是基于SWT的Java应用程序框架。其目标是提供一组可重用的组件,来简化以Java实现的GUI程序的编写。JFace所提供的组件所体现的GUI观念是如此亲切:向导、定制页、动作、对话框。这些组件往往比较零碎,却是基本Widget集合的不可或缺的组成部分,用这些通用型组件绘制到可重用框架中的好处是重大的。尽管继承于IDE框架,大多数JFace还是在图形桌面应用中有广泛用途。JFace与Eclipse运行时核心有一些联系,但是提取JFace和SWT使用到非基于Eclipse运行时的独立Java程序还是相当直截了当的。

    JFace介绍

    OK,上面两段文字是翻译的官方介绍,有些绕口。简单的说,JFace就是SWT的高级形式。由于SWT是Eclipse RCP程序的基石,因此功能多而细致繁琐,在使用上不是很方便,JFace则是以面向对象的方式对SWT的封装。但是,JFace并不是SWT的升级版之类的,不能也不会完全取代SWT。对于Eclipse来说,JFace与SWT所盖的房子就是RCP程序,一个Rcp程序就是一个Eclipse Product。Eclipse本身就是这么盖起来的。

    JFace环境搭建

    我用的Eclipse版本为3.3,编写SWT/JFace程序还是比较简单的。那么,废话少说。

    1. 下载Eclipse
    http://www.eclipse.org/downloads/

    2. 安装PDE(Eclipse plug-in development environment)- 如果未安装此Feature则缺少必要的Jar文件。

        ► Help -> Software Updates -> Find and Install ... [升级]
        ► Search for new features to install [选择升级类型]
        ► The Eclipse Project Updates [选择访问站点]
        ► 选择安装 Eclipse 3.3.2 -> Eclipse Plug-in Development Environment <version>
        ► 同时最好把源码也下了 Eclipse 3.3.2 -> Eclipse Platform Plug-in Developer Resources <version>

    !注意!安装的时候一定要安装到Eclipse目录下,如果安装到了外部目录的话,下面的步骤将无法使用相对路径,这样的话,如果你将Eclipse拷贝到其他地方使用的时候,就必须一个个的更改目录,非常麻烦。

    3. 导入必须的类库

    从3.2或是3.3开始,JFace不再依赖Eclipse Runtime库,并添加了一些可选部分:
    • org.eclipse.core.commands_<version info>.jar
    • org.eclipse.equinox.common_<version info>.jar
    • org.eclipse.osgi_<version info>.jar [3.3以后版本才有,非必须,但添加后拥有一些国际化的好处]
    • org.eclipse.jface_<version info>.jar
    • org.eclipse.swt.win32.win32.x86_<version info>.jar [这是SWT库,视乎平台有所不同]
    • org.eclipse.ui.workbench_<version info>.jar [此项并非JFace必须的类库,但其中包含很多有用的Dialog,一般添加。]
    当然你完全可以按照此列表建立一个User Library,当需要时导入此库即可。

    不过官方推荐使用相对路径的办法:
    ►下载SWT稳定发布版 Eclipse SWT Project Page  注意选择正确的平台,下载后无需解压。
    ►在Eclipse中导入此Zip,你将得到名为“org.eclipse.swt”的工程,其中已经自动添加了SWT的源码和doc。
    ►然后导入上面列表中的JFace依赖包,这里使用相对路径,无论Eclipse移动到哪里都有效:
        ⇒ 在刚才导入的SWT工程点右键选Properties
        ⇒ 找到“Java Build Path”中的“Library”页上点“Add Variable”
        ⇒ 点击选择ECLIPSE_HOME ... 点右边的按钮“Extend”
        ⇒ 依次选择添加上面列表中的包(除了SWT包,因为工程里已经自动包含了)
        ⇒ 最后在“Order and Export”页上将刚才添加的包打上勾
    这样,当一个新的Project需要SWT/ JFace包时,将“org.eclipse.swt”添加入新Project的Required Project中即可。

    4. 链接源码和文档

    作用:
        这里介绍如何将刚才导入的Jar包和其源码以及联机文档(JavaDoc)联系起来,在Eclipse的文本编辑区域就可以方便的随时查看某个类的源码或文档:
        通过Ctrl+左键点击某个类或变量直接查看源码
        鼠标悬浮在某个类或变量上时,显示文档鼠标提示,或者使用一个JavaDoc的View来查看

    方法:
        源码:
           ►打开刚才的工程"org.eclipse.swt"的属性中的Library页
           ►选取任一项,选择“Source attachment : (None)”,双击或者点击右边的按钮“Edit”
           ►先点击“Variable...”,选择ECLIPSE_HOME
           ►然后点击“Extention...”,选择plugins目录下的目录“org.eclipse.rcp.resource_<version>”
           ►选择对应名称下的“src.zip”文件
           ►依次重复以上步骤,链接好全部源码
        文档:
           ⇒使用URL - http://help.eclipse.org/help33/nftopic/org.eclipse.platform.doc.isv/reference/api/
                     (其中help33中的数字是对应版本号)
              或者URL - http://help.eclipse.org/stable/nftopic/org.eclipse.platform.doc.isv/reference/api/
                     (这个是不带版本号,始终是最新稳定版)
           ⇒或者使用相对路径:
               ►由于文档路径不能使用变量,但可以使用相对工程的路径,因此需要把文档包添加到工程里:
               ►将plugins目录下的文件“org.eclipse.platform.doc.isv_<version>.jar”用鼠标拖动到Eclipse的工程“org.eclipse.swt”上
               ►添加文档,在JavaDoc Location弹出的对话框中选择Javadoc in Archive,并选择Workspace File
               ►然后选择“org.eclipse.swt/org.eclipse.platform.doc.isv_<version>.jar”
               ►在Path Within Archive中选择“reference/api”即可

    另:其实源码和文档只需链接org.eclipse.swt和org.eclipse.jface包一般即可满足需求。
  • 相关阅读:
    Leetcode-784 Letter Case Permutation(字母大小写全排列)
    Leetcode-450 Delete Node in a BST(删除二叉搜索树中的节点)
    Leetcode-423 Reconstruct Original Digits from English(从英文中重建数字)
    Leetcode-692 Top K Frequent Words(前K个高频单词)
    Leetcode-355 Design Twitter(设计推特)
    Leetcode-229 Majority Element II(求众数 II)
    Leetcode-557 Reverse Words in a String III(反转字符串中的单词 III)
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/zerofire/p/7162178.html
Copyright © 2011-2022 走看看