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

本文通过对 Eclipse 的 SWT 和 Java Swing、Abstract Windows Toolkit(AWT)GUI 工具包进行比较,可以帮助新应用程序的开发人员从中选择适当的工具。您可以通过本文了解对每个工具包的基本特性的介绍,以及使用每个工具包的优缺点。

简介

developerWorks 上另外一些作者已经展示了如何在 Swing 和 SWT 之间很好地进行迁移(参见 参考资料)。本文的目标是帮助您在开始开发项目之前确定选择使用哪个 GUI 工具包。

但是首先我们要弄清一个问题:为什么会有多个 Java GUI 工具包呢?最好的答案是,一个工具包并不能满足所有的要求,最近也不会开发一个可以满足所有要求的 GUI 工具包。每个工具包都有各自的优缺点,这样就可以根据自己的需求和目标用户来选择适当的工具包。

下面就让我们来学习有关这些工具包的知识。

AWT 概述

Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包。AWT 的主要优点是,它在 Java 技术的每个版本上都成为了一种标准配置,包括早期的 Web 浏览器中的 Java 实现;另外它也非常稳定。这意味着我们不需要单独安装这个工具包,在任何一个 Java 运行环境中都可以使用它,这一点正是我们所希望的特性。

AWT 是一个非常简单的具有有限 GUI 组件、布局管理器和事件的工具包(参见 清单 1、清单 2 和 清单 3)。这是因为 Sun 公司决定为 AWT 使用一种最小公分母(LCD)的方法。因此它只会使用为所有 Java 主机环境定义的 GUI 组件。最终的结果非常不幸,有些经常使用的组件,例如表、树、进度条等,都不支持。对于需要更多组件类型的应用程序来说,我们需要从头开始创建这些组件。这是一个很大的负担。

清单 1. 基本的 AWT Class 树(全部在 java.awt 包中, “*” 表示抽象)

Object
  CheckboxGroup
  *Component
    Button
    Canvas
    CheckBox
    Choice
    Container
      Panel
        Applet
      ScrollPane
      Window
        Dialog
        Frame
    Label
    List
    TextComponent
      TextArea
      TextField
  MenuComponent
    MenuItem
      CheckboxMenuItem
      Menu
        PopupMenu

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, awt
, swing不会不觉
, 清单
, 组件
, java swt swing
, java swing awt
, 工具包
, java swing 进度条
, 一个
checkboxgroup
,以便于您获取更多的相关知识。

时间: 2024-10-02 19:35:43

SWT、Swing或AWT:哪个更适合您?的相关文章

Java秘史:隐藏在SWT/Swing背后的故事

译注:本文来自straight_talking_java@yahoogroups.com讨论组,已经是一 年多前的文章.Alan Williamson是Java Developers Journal的编辑,下文来自 他在IBM的一个消息来源.SWT和Swing的论争我见过不少,Netbeans和Eclipse的 也同样多.译者翻译此文并不是要激起什么争执,也不是支持哪一方(虽然我的 确是站在SWT一边的),更不是要攻击Amy.我最重要的理由是,这是一篇有趣的 文章.里面有内幕.线人.公司政治.垄

子域名与子目录哪个更适合做优化?

一个网站又数个或者N个页面,他们分别用url进行标识,我们做网站优化,无非就是让这些url尽可能的取得更好的排名,做过优化的人都知道,url结构对网站优化也是有影响的,那么子域名跟子目录哪个更适合做优化呢?下面我们一起看下 子域名跟子目录的优缺点: 子域名与子目录之间的区别 子域名:lanmu.xx.com,他告诉搜索引擎,这个子域跟其他的是独立的分开的,比如我们常见的,网站门户跟论坛,而子目录 呢:xx.com/lanmu,它代表的是子域中的一个部分,但是它整体还是属于xx.com这个域的.子

Apple Watch标准版和运动版有什么区别?哪款更适合自己?

  苹果智能手表Apple Watch一共有三个版本,分别为基本款Apple Watch,运动款Apple Watch Sport(更坚硬更牢靠),还有奢侈定制款Apple Watch Edition.此外,苹果还针对不同的用户群体做了不同的设计:提供了两种不同的尺寸选择,以及六种不同的表带设计.由于18K金豪华版太贵很多人都难以消受,因此大家都把目光放在了运动版与标准版之间.标准版和运动版有什么区别了,哪款更适合自己,来看看下文你就能够找到答案. 苹果智能手表采用相同的矩形外观设计,四角磨圆.

MAC 和PC哪个更适合做设计

  苹果机比PC更适合做图 真的是这样吗? ●认为苹果机比PC更适合做图的原因 为什么会出现苹果机比PC更加适合做图的观点,肯定是有原因的.就目前所知,主要是来源于硬件上和系统上. 苹果电脑品质有保障,显示效果一流 在人们的普遍认知中,苹果的定位一般是比较高档的,所用的硬件和推出的产品的品质往往都是比较好的.这些好东西堆砌的结果,自然就是好的素质表现.另外,苹果对产品一向精益求精,把控很严,所以,它的产品的表现是令人放心的. 苹果电脑硬件水平普遍起点很高,表现自然优秀 另外,由于苹果系统只能够安

[译]Angular vs React:谁更适合前端开发

本文讲的是[译]Angular vs React:谁更适合前端开发, 原文地址:Angular vs. React: Which Is Better for Web Development? 原文作者:Brandon Morelli 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:龙骑将杨影枫 校对者:Larry.薛定谔的猫.逆寒 大家总在写文章争论,Angular 与 React 哪一个才是前端开发的更好选择(译者:在中国还要加上 vue :P).我

中国人更适合“半封闭式”的互联网社交环境?

我看到很多人都在讨论为什么Facebook没有在中国出现?为什么苹果没有在中国出现?为什么中国就没有出现像硅谷那样的创业园区呢 ?  这是我写在前面的话 在几年前我就看到互联网关注者们开始讨论这样的问题,而在当时我听到的一个很流行的答案,那就是说中国的教育体制导致了出现上述问题,但是,我觉得这其实是一个相当不负责任的回答. 因为在我看来,我们其实不应该把这种问题只让教育行业来负责,我们应该去思考,思考我们自己到底能够做些什么. 我们自己有没有曾经对中国的行业环境来进行分析? 我们在做互联网的时候

Azure平台支持那些虚拟系统呢?更适合微软的系统么?

问题描述 Azure平台支持那些虚拟系统呢?更适合微软的系统么? 更适合微软的操作系统么?我想知道性能是怎么样的,现在虚拟化是越来越火了! 解决方案 虽然Azure是微软提供的,但是对Linux的支持一点也不差,而且甚至更好,主要体现在如下几点: Linux虚拟机价格便宜30%,微软居然对Azure上运行的Windows收取授权费. Linux对内存的消耗更少,如果你不使用GUI的话,特别是768MB的最小实例. 最后,Linux在软件上受到广泛的支持,除了.NET平台和微软的产品,其余都建议使

CentOS 与 Ubuntu:哪个更适合做服务器?

已经决定买一台虚拟服务器,但还不能决定使用哪个 Linux 发行版?我们都经历过这种困扰.对于 Linux 发行版来说,要在这么多的发行版和种种支派flavors中选择一个,那简直能让人崩溃.不过,对于服务器而言,有两个主流的 Linux 发行版,那就是 CentOS 和 Ubuntu.但如何从这两个之中选择,这是摆在管理员.初学者和专业人士面前的主要问题.在对这两个(和更多)发行版有了一定的经验之后,我们决定对这两个发行版用于服务器时做个比较. 利益相关:本文译自 thishosting.ro

NFS与NAS谁更适合VMware

大多数基于VMware的供应商为他们的ESX服务器配备了基于块的光纤通道或者iSCSI的存储,但有人已开始提出:网络文件系统(NFS)可能是一个更适合的选择. 例如,在两年前NFS设计出基于VMware的动态服务管理主机平台时,IT商业服务供应商T-Systems就选择了NFS. Dynamic Services的负责人Gregory Smith博士说,"我们真的觉得网络NFS是最佳选择","SAN在吞吐量方面有它的优势,但是在灵活性和管理方面,NFS做得好得多".