科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java GUI三剑客风云争霸

Java GUI三剑客风云争霸

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

进行Java GUI(Graphical User Interface,图形用户界面)编程,大家或许经常徘徊在SWT/JFACE, Swing, AWT之间选择,哪一个更合适自己?AWT作为Java语言的第一个GUI类库包。

作者:中国IT实验室 来源:中国IT实验室 2007年9月24日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

    3. SWT/JFace――众里寻她千百度
    就在Java在中间件市场(J2EE)以及web应用(JSP/Sevlet)上大放异彩的时候,AWT的穷途末路、Swing的饱受病诟,这一切似乎让Java的GUI开发沉寂的像一潭死水。
寻寻觅觅,冷冷清清,凄凄惨惨戚戚啊!
SWT/JFace象一股清新的风吹入了Java的GUI开发领域,为这个沉闷的领域带来了勃勃生机。虽然SUN不接纳SWT/JFace作为Java中的一种图形API标准,但它虽然借着Eclipse的优异表现,以不可阻挡之势向前发展着。终于可以用SWT/JFace轻松的开发出高效率的GUI程序,且拥有标准的Windows外观,Eclipse软件就是基于SWT/JFace构建的,大家看看Eclipse3.2就知道SWT有多么的棒。



图1:SWT/JFace的代表作――Eclipse界面

    在此有必要解释一下SWT与JFace的区别,JFace其实是在SWT的基础上,采用MVC模式进行了封装而形成的一个新的类库,这一封装,大大简化了采用SWT开发Java图形用户界面的难度。在SWT推出后不久,出现了一个名为SWT Designer的Eclipse插件,使用该插件可以像采用Visual Studio .NET开发Window图形用户界面一样简单,可以采用可视化拖拽的方式进行。不要以为这是一个很小的进步,要知道用Java写GUI程序能够简单到这种程度,这在以前可是想都不敢想的事情。.NET平台之所以成功,很大程度上与它的IDE――Visual Studio .NET,优异的表现有关,而Visual Studio .NET最值得称道的就是它的可视化设计模式。

    SWT/JFace直接调用了操作系统的图形库,从而使得Java应用程序的Look & Feel 与操作系统的习惯完全一致;更为重要的是,SWT/JFace采用有限调用本地方法(控件),只有当本地找不到所需要的控件时,才进行模拟。对本地方法的直接调用大幅度的提高了基于SWT/JFace的Java应用程序的运行速度。相信使用过JBuilder和Eclipse的开发人员会有切身的体会。一般来说,基于Swing的JBuilder需运行在1G以上内存的机器上,而Eclipse则可以在512M内存的机器上跑的很欢。SWT/JFace具有比AWT更为丰富的控件,比Swing更为快捷的速度。
任何事务都不可能十全十美,SWT/JFace也不例外。SWT/JFace的缺点主要在于两点:(1) 不是Java语言标准;(2) 某些平台并不支持。

    4. 总结――长江后浪推前浪
    滚滚长江东逝水,Java GUI开发三剑客,先后登上了历史的舞台。AWT作为Java第一个GUI类库,实现Java GUI开发从无到有的突破,尽管后来表现不佳,目前已经基本退出历史的舞台,但是其历史功绩是不容被抹杀的;Swing系出名门,是Java标准的一部分,并且站在AWT的肩膀上进行了许多改进,但是其过于复杂,且效率低下,目前也是饱受病诟,并不被广大程序员所接受;SWT/JFace作为后起之秀,在效率上、易用性上以及美观上都进行了改进,可以说是这三剑客中表现最为优秀的。最为难能可贵的是,SWT/JFace并不是Java标准的一部分,却能被广大程序员所接受,足见其优秀。

    Java GUI开发作为Java技术系列中最为薄弱的环节,距离Windows平台的.NET GUI开发还是有很大的差距。但是相信在类似Java GUI开发三剑客这样的新技术的推动下,总有一天,Java GUI开发还是可以接近或者达到Windows平台的.NET GUI开发的水平。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章