您的位置 首页 java

JavaGUI编程的前世今生

早在20年前,Java从一个毛头小子成长为今天的企业高层,铸就了从gui到web的发展,也是目前java在行业中能成为行业霸主的原因。

GUI 是 Graphical User Interface 的简称,即图形用户界面,通常人机交互图形化用户界面设计经常读做“goo-ee”,准确来说 GUI 就是屏幕产品的视觉体验和互动操作部分。

  GUI 是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。

  这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。

  GUI 即人机交互图形化用户界面设计。纵观国际相关产业在图形化用户界面设计方面的发展现状,许多国际知名公司早已意识到 GUI 在产品方面产生的强大增值功能,以及带动的巨大市场价值,因此在公司内部设立了相关部门专门从事 GUI 的研究与设计,同业间也成立了若干机构,以互相交流 GUI 设计理论与经验为目的。随着中国 IT 产业,移动通讯产业,家电产业的迅猛发展,在产品的人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。

Java写GUI比较麻烦,而且不容易写得比较好看。如果要写的好看的话,布局很麻烦。常见的库有awt,swing,swt等。现在有不错的可视化编辑器,但感觉还是不是很好用。

通过多年的发展JavaGUI领域中为了更好的优化图形界面开发推出了很多不同的GUI开发框架:

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项目。

文章来源:智云一二三科技

文章标题:JavaGUI编程的前世今生

文章地址:https://www.zhihuclub.com/171802.shtml

关于作者: 智云科技

热门文章

网站地图