相关疑难解决方法(0)

Java GUI框架.选择什么?Swing,SWT,AWT,SwingX,JGoodies,JavaFX,Apache Pivot?

java有很多gui框架,但是什么被认为是今天的选择框架?

以下是我对不同框架的理解,如果我错了请纠正我.这是一个非常松散定义的问题集,但我仍然认为它对于任何想创建丰富的gui应用程序的人都很有价值.


AWT

是摆动的基础,它表现良好,但缺乏先进的部件.如果您打算创建丰富的应用程序,AWT可能不是可行的方法.但是对于不需要丰富用户界面的小型gui应用程序.这可能非常适合,因为它是一个久经考验的框架.


摇摆

基于AWT,如前所述.在它的初期,它被认为是缓慢和错误,并导致IBM为Eclipse创建SWT.但是,使用Java 5(或6?),Swing成为构建新应用程序的首选框架.Swing有很多丰富的组件,但在某些方面仍然缺乏.一个例子是没有可以进行排序和过滤/搜索的全功能TreeTable组件.


SWT

由IBM为Eclipse创建,他们似乎认为Swing当时不适合Eclipse.它本身是相当低级的,它通过JNI使用平台的本机小部件.它根本与Swing和AWT无关.然而,他们的API有点笨重而且不直观.它们确实有一些像TreeTable这样的高级组件.(但我不认为他们支持排序和过滤开箱即用).SWT使用一些本机绑定(通过JNI?),互联网上的咆哮是这个框架不应该在今天的项目中使用.(为什么不?)


SwingX

基于Swing,它的使命是为挥杆创造丰富的组件.仍在开发中.(虽然不是很活跃.)有一组非常好的组件,比如TreeTable.但据我所知,TreeTable不支持过滤和排序.但它确实支持突出显示搜索.

请注意,SwingX是组件(AFAIU),它们是现有Swing组件的扩展或组合


JGoodies数据

我一无所知的框架......它的优点和缺点是什么?Jgoodies与其他人的区别是什么?

JGoodies OTOH是关于PLAF和布局的.


JavaFX的

Java/Oracle的最新旗舰产品.承诺成为开发富桌面或Web应用程序的事实标准.


Apache Pivot

它使用Java2D呈现UI,从而最小化Swing和AWT的(IMO,膨胀)遗产的影响.(@Augustus Thoo)

它的主要焦点似乎是RIA(富互联网应用程序),但似乎它也可以应用于桌面应用程序.而作为个人评论,看起来很有趣!我特别喜欢它是一个apache项目.

https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html


Qt Jambi

本机qt库的java包装器,用c/c ++编写.非常强大,广泛使用和接受.有很多GUI组件和易于使用的API.

http://qt-jambi.org/


所以,试着总结一下我要问的一点:

说我想用Java创建一个桌面应用程序,它涉及许多高级组件,我应该选择什么?为什么?

哪些框架应被视为已弃用,哪些框架应被视为遥远未来的框架?

什么是今天的事实标准框架,您使用哪些工具来创建Java gui应用程序?


我可能会后悔问这个,但不管怎么说都不好意思:

据说C#/ .Net有一套易于使用的组件,可以在各个方向上进行弯曲.在调查了不同的java框架之后,我似乎无法对Java说同样的话.为什么是这样?为什么java(世界上使用最广泛的编程语言)没有相同的GUI组件集?

难道只是java已经将gui组件基于更低的级别,并且可以编写我正在寻找的所有这些高级组件,但是如果不是所有的工作,你必须做很多事情吗?

java user-interface swing swt awt

228
推荐指数
6
解决办法
60万
查看次数

JavaFX 2 vs Swing用于纯Windows桌面应用程序

我需要编写一个桌面应用程序,并且自从我开始使用Swing以来已经有一段时间了,因此将使用这两种技术进行学习.

使用JavaFX 2做我的应用程序有什么好处吗?

swing javafx javafx-2

27
推荐指数
1
解决办法
2万
查看次数

JavaFX 仍然是用 Java 创建 GUI 应用程序的更好选择吗?

对于熟悉 Java 的开发人员来说,JavaFX 是一种非常强大的创建 GUI 应用程序的方法,但在 Java 较新版本中,javaFX 没有发生任何更新。而在 Java 13 中,之前的一些功能并未包含在内。

作为初学者,我应该学习 javaFX 或 Swing 或任何其他方式来创建 java GUI 应用程序

java swing javafx

0
推荐指数
1
解决办法
5523
查看次数

标签 统计

swing ×3

java ×2

javafx ×2

awt ×1

javafx-2 ×1

swt ×1

user-interface ×1