首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >现在应该选择哪种Java GUI框架?

现在应该选择哪种Java GUI框架?
EN

Stack Overflow用户
提问于 2008-11-11 16:14:57
回答 3查看 11.9K关注 0票数 18

如果你现在或不久的将来开始你的新项目,你会选择哪个图形用户界面框架/库?

它必须是免费的商业用途和跨平台。

我一直是一个快乐的swing用户,但Sun似乎正在推动swing弃用,同时推动Javafx,它还没有准备好进入黄金时间。

还有SWT,但它似乎在Linux上有问题。

你选择的Gui库/框架是什么?

编辑: Sun已经取消了swingx项目。从论坛上的评论来看,以前从事核心swing工作的大多数http://swingx.dev.java.net资源现在都在全职开发JavaFx。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-11-11 16:58:42

我认为尽管Sun管理不善,Swing仍然是一个很好的框架。你可以用它做很多事情,特别是当“很多”涉及自定义渲染的UI控件时。如果你的应用程序需要一个品牌的LAF,或者仅仅需要一些复杂的自定义控件,Swing就是你想要的。

另一方面,我确实非常喜欢SWT。它的名声很差,因为每个人过去都认为这是IBM接管Java的策略,但实际上它只是另一个与Swing相辅相成的UI框架。我不建议将SWT用于超复杂的图形渲染(特别是合成)或创建非常重要的自定义控件,但对于其他任何事情,它都是非常好用的。API本身受到了很多批评,因为它依赖于位掩码和用户管理的事件分派循环,但是一旦你习惯了它们,这些东西中的大多数都是相当透明的。组件本身比Swing简单得多(在可扩展性和类似方面),这意味着API可以按比例更简单。我实际上还记得如何在SWT中创建和填充表;然而,如果没有Google的帮助,我想我从来没有在Swing中处理过这个问题。

SWT目前最大的问题是稳定版本依赖于Mac上的Carbon,这意味着SWT应用程序只能在Java5上运行32位(或在SoyLatte上运行32位)。至于其他平台,SWT在Windows (Vista和XP)上表现出色,在GTK Linux上几乎同样出色。我(最近)在Linux上没有遇到过SWT的任何问题,所以你提到它是一个痛处,这让我有点惊讶。

回到您的问题:这完全取决于您的应用程序需要什么。如果它是一个华丽的自定义样式的应用程序,有大量的自定义控件和复杂的合成,那么Swing是唯一的选择。但是,如果更简单的API对您来说更重要,或者如果您的用户需要终极的平台LAF保真度,SWT是最好的选择。

票数 8
EN

Stack Overflow用户

发布于 2008-11-11 16:37:09

现在,我正在使用SWT或Qt (Jambi)。

Swing在过去的10年里没有发展,bug没有修复,开发已经停止,转而支持JavaFX,所以你也不会看到任何新功能。JavaFX看起来可能很棒,但它仍然是蒸气软件,它是由那些让Swing饿死的人制造的,所以我不会在它上面下任何赌注。

在SWT和Qt之间,我更喜欢使用Qt,因为它是一个非常成熟和强大的框架,由知道自己在做什么的人(好吧,至少大多数时候是:)和SWT (如果新项目的许可证与Qt不兼容)。

票数 4
EN

Stack Overflow用户

发布于 2008-11-11 16:16:48

我仍然使用Swing,并且将继续这样做,直到它不再被支持为止。感谢您对Javafx的建议,我现在必须研究一下这一点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/281342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档