构建Java UI以在所有平台上运行

YoK*_*YoK 3 java user-interface

我对使用什么感到困惑.我看到的选项是awt,Swing和swt.

我的问题是哪个应该最适合所有平台(Mac,Windows和Linux)上的桌面Java应用程序,并且具有最小的平台相关代码?

ska*_*man 5

摇摆.

AWT是旧的,太低级,SWT具有本机组件,并且不随JRE一起提供(它是第三方库).Swing是高级(-ish)和纯java.


McD*_*ell 5

AWT已经过时了,尽管它的一些类和设计构成了Swing API的基础.

以下是我在Swing和SWT中创建应用程序之间的区别:

摇摆

  • + 构成标准Java-SE平台的一部分,因此减少了分发难题
  • + 您可以跨平台创建一致的外观
  • + 控件很轻巧,因此创建自己的控件相对容易
  • -如果您需要Swing应用程序看起来像本机应用程序,可能会有很多工作; Swing可以用平台look'n'feel来设计,但结果并不总是足够让每个人都满意

SWT

  • + 易于创建使用本机小部件的简单应用程序
  • - 手动资源管理
  • - 您需要分发特定于平台的库
  • - 你面临着最低的共同点问题 - 并非所有平台都可以在所有平台上使用,所以有些小部件将自定义为SWT

虽然我对SWT提出了更多的弊端,但我不会打折它.您选择哪种技术取决于您的项目要求.在UI开发方面,挑选图书馆只是一个开始.

Swing是一个简单,低维护的选项,我同意其他海报,这可能是最适合你想要的.