- Qt和SWT之类的框架需要本机DLL。因此,你必须问自己:是否支持所有必需的平台?是否可以将本机DLL与你的应用程序打包在一起?
请参阅此处,如何针对SWT执行此操作。
如果你在这里有选择,则应该选择Qt而不是SWT。Qt是由了解UI和桌面的人员开发的,而SWT是出于提高Eclipse速度的必要而开发的。它是Java 1.4的性能补丁,而不是UI框架。没有JFace,你将缺少许多主要的UI组件或UI组件的非常重要的功能(例如对表进行过滤)。
如果SWT缺少你需要的功能,则该框架在扩展它方面有些敌意。例如,你不能在其中扩展任何类(这些类不是最终类,当的包
this.getClass()不是时,它们只会引发异常,
org.eclipse.swt并且你不能在该包中添加新类,因为它已签名)。
- 如果你需要本机的纯Java解决方案,那么剩下的就剩下了。让我们从AWT,Swing,SwingX(Swing方式)开始。
AWT已过时。Swing已过时(在过去的10年中,Swing可能更少,但没有做太多工作)。你可能会说Swing很好,但是我们都知道代码会烂掉。对于当今的UI尤其如此。
剩下的就是SwingX。经过一段漫长的缓慢发展之后,发展又恢复了。Swing的主要缺点是它依赖于一些古老的想法,这些想法在15年前非常前沿,但在今天却显得“笨拙”。例如,表视图确实支持过滤和排序,但是你仍然必须进行配置。你必须编写许多样板代码才能获得一个感觉不错的现代UI。
另一个弱点是主题。到今天为止,周围有很多主题。请参阅此处的前十名。但是有些很慢,有些是越野车,有些是不完整的。当我编写UI时,我讨厌它,用户抱怨某些东西对他们不起作用,因为他们选择了一个奇怪的主题。
- JGoodies是Swing之上的另一层,如SwingX。它试图使Swing更易于使用。该网站看起来很棒。让我们看一下教程… hm …仍在搜索…继续。网站上似乎根本没有文档。Google进行了救援。不,根本没有有用的教程。
我对UI框架充满信心,UI框架如此努力地向潜在的新粉丝隐藏文档。这并不意味着JGoodies会很糟糕。我只是找不到任何好话要说,但看起来不错。
- JavaFX。很棒,时尚。支持在那里,但我觉得它比严肃的UI框架更像是一个闪亮的玩具。这种感觉源于缺少复杂的UI组件(如树表)。有一个基于Webkit的组件来显示HTML。
当它被引入时,我的第一个想法是“五年为时已晚”。如果你的目标是为手机或网站开发一款不错的应用程序,那就好。如果你的目标是专业的桌面应用程序,请确保它满足你的需求。
- 枢。我第一次听说。它基本上是一个基于Java2D的新UI框架。所以昨天我尝试了一下。没有摇摆,只有一点点的AWT(new Font(…))。
我的第一印象是不错的。有大量的文档可帮助你入门。大多数示例都随网页上的实时演示一起提供(注意:你必须在Web浏览器中启用Java;这会带来安全风险),因此你可以并行查看代码和生成的应用程序。
以我的经验,代码比文档要花更多的精力。通过查看Pivot文档,代码中必须付出很多努力。请注意,当前存在一个错误,该错误使某些示例(PIVOT-858)无法在浏览器中运行。
我对Pivot的第二印象是它易于使用。当我遇到问题时,通常可以通过看一个例子来快速解决。不过,我缺少每个组件支持的所有样式的参考。
与JavaFX一样,它缺少一些更高层次的组件,例如树表组件(PIVOT-306)。我没有尝试使用表视图进行延迟加载。我的印象是,如果基础模型使用延迟加载,那就足够了。
有希望。如果可以,请尝试一下。



