Java 桌面应用程序:SWT 与 Swing [英] Java Desktop application: SWT vs. Swing

查看:43
本文介绍了Java 桌面应用程序:SWT 与 Swing的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我白天是一名网络开发人员,正在考虑构建我的第一个真正的桌面应用程序.我们的想法是构建一个工具,在没有 API 可用的 Web 应用程序中自动执行非常重复的任务.

I'm a web developer at day and thinking about building my first real desktop application. The idea is to build a tool that automates a very repetitive task in a web application where no API is available.

我知道我想使用 Java.我之前将它用于网络内容,非常了解语法并希望应用程序尽可能简单地跨平台.

I know I want to use Java. I used it before for web stuff, know the syntax pretty well and want the application to be cross plattform as easy as possible.

我不太确定是应该使用 SWT 还是 Swing.由于我的主要受众使用 Windows,我希望在那里看起来尽可能原生.Linux 和 Mac 应该可以工作,但外观在这里不是那么重要.

Where I'm not so sure is if I should use SWT or Swing. As my main audience uses Windows, I want to look it as native as possible there. Linux and Mac should work, but the looks are not so important here.

那么支持和反对每个 UI 框架、Swing 或 SWT 的论据是什么?

So what are the arguments for and against each UI Framework, Swing or SWT?

谢谢.

PS:我使用 Eclipse 在 Windows 上开发.但正在考虑玩 Netbeans.

PS: I develop on Windows using Eclipse. But was thinking about playing with Netbeans.

推荐答案

Pros Swing:

  • java 库的一部分,不需要其他本地库
  • 在所有平台上都以相同的方式工作
  • Netbeans 和 Eclipse 中的集成 GUI 编辑器
  • Sun/Oracle 提供的优秀在线教程
  • 受官方 Java 扩展支持(如 Java OpenGL)

缺点摇摆:

  • 原生外观和感觉可能会表现与真正的本地人不同
  • 重组件(本机/awt)隐藏摆动组件,大多数情况下不是问题,因为重组件的使用相当少

SWT 的优点:

  • 尽可能使用原生元素,所以总是原生行为
  • 支持eclipse,gui编辑器VEP(VEP也支持Swing和AWT)
  • 大量在线示例
  • 有一个集成的 awt/swt 桥接器,允许使用 awt 和 swing 组件

缺点 SWT:

  • 每个都需要本地库支持的系统
  • 由于本机的原因,可能无法支持所有系统上的所有行为使用的资源(提示选项)
  • 管理本机资源,而本机组件通常会与其父级一起处理,其他资源(例如字体)必须手动释放或注册为组件的处理侦听器以自动释放.

这篇关于Java 桌面应用程序:SWT 与 Swing的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆