快速业务通道

SWT、Swing或AWT:哪个更适合您? - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
了非常丰富的布局部件集。布局系统与嵌套容器一起使用,可以生成所需要的任何布局算法。所有这 3 个 GUI 库也可以支持对部件的定位实现绝对控制。SWT 没有等效的 BorderLayout 部件,这一点非常令人失望。FormLayout 对于创建表单基本输入来说非常好用。我认为 SWT 的布局机制比 AWT/Swing 布局部件集的使用更难学习。

清单 8. SWT 提供了以下布局管理器(大部分在 org.eclipse.swt.layout 和 org.eclipse.swt.custom 包或子包中,“*” 表示接口,“!” 表示在 custom 包中)

*Layout
  FillLayout
  FormLayout
  GridLayout
  RowLayout
  !StackLayout

注意:在另外几个包中还有其他一些 SWT 布局管理器,很多都是为它们所布局的容器而专门定制的,但是这是基本的布局管理器集。

与 AWT 和 Swing 事件系统一样,SWT 提供了非常丰富的事件集。尽管这些事件并不能与 AWT/Swing 的事件一一对应(例如 AWT 和 Swing 的按钮都会产生 ActionEvent 事件,而 SWT 的按钮产生的则是 SelectionEvent 事件),但是它们通常都是等价的。

清单 9. SWT 提供了以下事件(大部分在 org.eclipse.swt.events 包或 org.eclipse.swt.custom 包或其子包中,“*” 表示抽象,“!” 表示在 custom 包中)

Object
  EventObject
    SWTEventObject
      TypedEvent
        AimEvent
        !BidiSegmentEvent
        ControlEvent
        !CTabFlolderEvent
        DisposeEvent
        DragSourceEvent
        DragTargetEvent
        !ExtendedModifyEvent
        focusEvent
        HelpEvent
        KeyEvent
          TraverseEvent
          VerifyEvent
        !LineBackgroundEvent
        !LineStyleEvent
        MenuEvent
        ModifyEvent
        MouseEvent
        PaintEvent
        SelectionEvent
          TreeEvent
        ShellEvent
        !TextChangedEvent
        !TextChangingEvent

SWT、Swing或AWT:哪个更适合您?(9)

时间:2011-12-08 ibm Barry Feigenbaum

注意:在另外几个包中还有其他一些 SWT 事件,但是这是基本的事件集。这些是从更通用的事件生成的具体事件。

很多 Swing 组件,例如 JTable,都有自己的模型。对应的 SWT 控件(例如 Table)则没有;不过它们有自己的条目。条目通常用来限制显示文本或通常很小的图像(例如图标)。为了提供一种类 Swing 的模型接口,SWT 使用了 JFace ContentProviders。这些组件可以在应用程序提供的模型(例如 List 或 Table 使用的 java.util.Array )和用作视图的控件之间充当一个桥梁。为了将任意模型对象格式化成条目,SWT 使用了 JFace LabelProviders,它们可以为任何模型对象生成一个文本或图标格式。这可以对复杂模型对象的混合显示进行限制。其他类似组件,例如 ColorProviders 和 LabelDecorators,可以增强对这些条目的显示。对于 Tables 的特例来说,SWT 提供了 CellEditor,它可以临时将任意 SWT 控件链接到一个 Table 单元格上,从而当作这个单元格的编辑器使用。

SWT 不支持 GUI 控件的自动销毁。这意味着我们必须显式地销毁所创建的任何控件和资源,例如颜色和字体,而不能利用 API 调用来实现这种功能。这种工作从某种程度上来说得到了简化,因为容器控制了其子控件的自动销毁功能。

使用 SWT 只能自顶向下地构建 GUI。因此,如果没

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