Java的GUI框架如何选择? Swing、SWT、AWT、SwingX、JGoodies、JavaFX、Apache Pivot、BeautyEye框架(美观)?
AWT
是swing的基础,运行良好,但缺少高级组件。如果您打算创建丰富的应用程序,那么AWT可能不是最好的方法。但是对于不需要丰富用户界面的较小gui应用程序来说。这可能非常适合,因为它是一个久经考验的框架。
摇摆不定的
基于AWT,如前所述。在它的初期,它被认为是缓慢和有缺陷的,并导致IBM为Eclipse创建SWT。但是对于Java 5(或6?)Swing成为构建新应用程序的首选框架。Swing有许多丰富的组件,但在某些领域仍然缺乏。一个例子是,没有一个功能齐全的可以进行排序和过滤/搜索的树状组件。
SWT
由IBM为Eclipse创建的,他们似乎认为Swing在当时并不适合Eclipse。它本身非常低级,并且通过JNI使用平台的本机小部件。它与Swing和AWT完全无关。然而,他们的API有些笨拙且不直观。它们确实有一些高级组件,比如树状结构。(但我认为他们不支持分类和过滤).SWT使用了一些本机绑定(通过JNI?),而internet上的抱怨是这个框架不应该在今天的项目中使用。(为什么不呢?)
SwingX
基于Swing的任务是为Swing创建丰富的组件。仍在发展。(不过不是很活跃。)有一组非常好的组件,例如TreeTable。但据我所知,TreeTable不支持过滤和排序。不过,它确实支持突出显示搜索。
- 注意,SwingX是组件(AFAIU),它是现有Swing组件的扩展或组合
JGoodies
一个我不知道的框架…它的优点和缺点是什么?Jgoodies有什么不同于其他的?
JGoodies OTOH是关于PLAFs和布局的。
JavaFX
Java/Oracle的最新旗舰。承诺成为开发富桌面或web应用程序的实际标准。
Apache Pivot
它使用Java2D呈现UI,从而最小化了Swing和AWT(在我看来,过于臃肿)遗留的影响。(@Augustus Thoo)
它的主要焦点似乎是RIA(Rich internet applications),但它似乎也可以应用于桌面应用程序。作为个人评论,看起来很有趣! 我特别喜欢这个apache项目。
https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html
Qt Jambi
用c/c++编写的本机qt库的java包装器。非常强大,广泛使用和接受。具有许多GUI组件和易于使用的API。
http://qt-jambi.org/
所以,试着总结一下我的问题:
假设我今天想用Java创建一个桌面应用程序,它包含了很多高级组件,我应该选择什么呢?,为什么?
这些框架中哪一个应该被认为是弃用的,哪一个应该被认为是遥远未来的框架?
什么是今天的反事实标准框架,您使用什么工具来创建java gui应用程序?
我可能会后悔问这个问题,但无论如何我要试一试:c#&.Net据说有一套非常好的易于使用的组件,可以在任何方向上弯曲。在某种程度上研究了不同的java框架之后,我似乎无法对java说同样的话。这是为什么呢?为什么java(世界上使用最广泛的编程语言)没有相同的GUI组件集?
只是因为java将gui组件建立在一个更低的层次上,并且可以编写所有这些我正在寻找的高级组件,但是您必须自己完成大量(如果不是全部的话)工作吗?
Java的GUI框架如何选择? Swing、SWT、AWT、SwingX、JGoodies、JavaFX、Apache Pivot、BeautyEye框架(美观)?的更多相关文章
- 十一:Java之GUI图形Awt和Swing
一. AWT和 Swing AWT 和 Swing 是 Java 设计 GUI用户界面的基础.与 AWT 的重量级组件不同,Swing 中大部分是轻量级组件.正是这个原因,Swing 差点儿无所不能, ...
- java的GUI之SWT框架 配置开发环境(包含但不限于WindowBuilder完整教程,解决Unknown GUI toolkit报错,解决导入SWT包错误)
官网(资料挺多的,API文档截图以及示例都有):https://www.eclipse.org/swt/ 克隆官方仓库 git clone --depth=1 git://git.eclipse.or ...
- paip.提升效率--gui 的选择--swing最佳实践swt awt
paip.提升效率--gui 的选择--swing最佳实践swt awt ////////////////弹出消息框. ////////////////myeclipse swing 开发最佳实践.. ...
- Java GUI编程中AWT/swing/SWT的优缺点
http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具 ...
- java中GUI的awt和Swing的知识点
刚刚学习了java的GUI,写了几个程序,基本熟悉了awt和Swing,下面和大家分享一下知识点 1.JFrame的层次结构 参考:http://tieba.baidu.com/p/200421612 ...
- Java中的Swing及AWT又称GUI编程
Java中的Swing及AWT又称GUI编程. 关于学习Java要不要学Swing及AWT,这个完全取决于个人的开发及发展方向. 如果从事web方向的开发,则可以不用学习Swing及AWT. 如果从事 ...
- 【Java】GUI编程
GUI编程 前言 某koukou老师的任务罢了,好在狂神老师居然有GUI的课,只能说是有救星了. [狂神说Java]GUI编程入门到游戏实战 最好笑的是,老师要求掌握的居然是14年的知识,就连狂神在上 ...
- 用户图形界面(GUI)学习笔记(一)——Swing与AWT
一.Swing与AWT 对象窗口工具箱(Abstact Window Toolkit,AWT),是JAVA1.0刚出现的时候,包含的一个GUI设计类库.它将处理用户界面元素的任务委派给每个目标平台(W ...
- Java面向对象 GUI 补录
Java面向对象 GUI 补录 知识概要:(1)GUI和CLI (2)AWT和SWING (3)AWT继承关系图 ...
随机推荐
- Java-线程等待、唤醒与中断
一.sleep() 与 wait() 两者都会让当前线程进入等待状态.唤醒后都需要等待 CPU 资源,不一定会立即执行.若在等待期间被调用此线程的的 interrupt() 方法,将会产生 Inter ...
- Ubuntu16.04小白入门分享之 玩转Ruby你需要安装什么软件(持续更新)
Ubuntu提示功能很强大,一般如果你想安装什么软件,可以直接输入名字,然后会有提示,安装格式一般为: sudo apt install 名字 Ubuntu14.04/16.04命令行快速安装Ruby ...
- vue中关于checkbox数据绑定v-model指令的个人理解
vue.js为开发者提供了很多便利的指令,其中v-model用于表单的数据绑定很常见, 下面是最常见的例子: <div id='myApp'> <input type=&qu ...
- Git使用手册/Git教程:git fetch 将远程仓库的分支及分支最新版本代码拉取到本地
相关文章: 关于验证是否存在ssh配置以及生成SSH Key的方法可以参照文章:Git使用手册:生成SSH Key 关于SSH Key的使用和公钥在gitHub.gitLab的配置等,请参考文章:Gi ...
- 简单方法让input date支持placeholder(包含ios手机端方法)
<input class="baixin-quan-info-box-time" type="text" onfocus="(this.type ...
- Message的定义類型
SAP通过Message来回执程序的执行状态.使用Tcode:SE91. SAP將Message分为不同的类,如下图显示为ZF环境下ZMM01类相关Message列表. Message short t ...
- 微信小程序<一>
下面是我对自己微信小程序学习的画的一个思维导图: 以后就一步一步的完善思维导图吧...到最后,应该是相当的庞大了呀...嘿嘿嘿! 目录结构总结记录: 包括入口文件app.js app.json&l ...
- Jenkins pipeline+Maven+Gitlab
参照文档:http://www.cnblogs.com/xiaodai12138/p/9996995.html
- mysql 8.0.12 安装配置方法图文教程
一.安装 1.从网上下载MySQL8.0.12版本,下载地址 2. 下载完成后解压 我解压的路径是:D:\Java\mysql-8.0.12-winx64 3. 配置文件 首先在解压的路径下查看是否含 ...
- Hibernate 持久化对象和一级缓存
关于如何手动创建Hibernate,Hibernate初了解已经介绍了,接下来了解持久化对象和一级缓存. Hibernate的持久化类有三种状态: 1.Transient瞬时态:持久化对象没有唯一标识 ...