Mar*_*rko 17 java user-interface cross-platform gui-toolkit
如果您现在或在不久的将来开始新项目,您会选择哪个GUI框架/库?
它必须是免费的商业用途和跨平台.
我一直是个快乐的摆动的用户,但太阳似乎就像推秋千来折旧,同时推JavaFX的,这是尚未准备好黄金时间.
还有SWT,但似乎它在Linux上存在问题.
您的Gui库/选择框架是什么?
编辑:Sun取消了swingx项目.来自http://swingx.dev.java.net的论坛评论看起来像以前在核心摇摆上工作的大部分Sun资源现在正在全职开发JavaFx.
我认为,尽管Sun的管理不善,Swing仍然是一个优秀的框架.你可以用它做很多事情,特别是如果那个"很多"涉及自定义渲染的UI控件.如果您的应用程序需要品牌的LAF,或者甚至只需要一些复杂的自定义控件,Swing就是您想要的.
在硬币的另一面,我非常喜欢SWT.它得到了一个糟糕的说唱,因为每个人都认为这是IBM接管Java的伎俩,但它实际上只是另一个与Swing完全互补的UI框架.我不建议使用SWT进行超复杂的图形渲染(特别是:合成)或创建非常简单的自定义控件,但对于其他一切,它实际上是花花公子.由于依赖于位掩码和用户管理的事件调度循环之类的东西,API本身受到了很多批评,但是一旦你习惯它们,大多数事情都是非常透明的.组件本身比Swing简单得多(在可扩展性和类似方面),这意味着API可以按比例简单.我实际上可以记住如何在SWT中创建和填充表格;在没有谷歌帮助的情况下在Swing中处理过.
SWT现在最大的问题是稳定版本取决于Mac OS X上的Carbon.这意味着SWT应用程序只能在Java 5上运行32位(或在SoyLatte上运行32位).至于其他平台,SWT在Windows(Vista和XP)上非常出色,在GTK Linux上几乎同样出色.我没有(最近过去)在Linux上有SWT的任何问题,所以我有点惊讶你会提到它作为一个痛点.
回到你的问题:这一切都取决于你的应用程序需要什么.如果它是一个华丽的定制风格的应用程序,具有大量的自定义控件和复杂的合成,Swing是城里唯一的游戏.但是,如果更简单的API对您来说更重要,或者您的用户需要最终的平台LAF保真度,SWT是最佳选择.
| 归档时间: |
|
| 查看次数: |
11792 次 |
| 最近记录: |