zoukankan      html  css  js  c++  java
  • 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组件建立在一个更低的层次上,并且可以编写所有这些我正在寻找的高级组件,但是您必须自己完成大量(如果不是全部的话)工作吗?

  • 相关阅读:
    Swift 可选项 Optional
    Swift 枚举的用法
    Swift 函数
    Swift 流程控制
    iPhone 相册取出视频宽高分辨率是相反的 解决方案
    Mac 下GitHub 访问慢解决方案
    Ipa 脱壳工具 Clutch dumpdecrypted 使用
    逆向 make 打包错误解决方案 make: *** [internal-package] Error 2
    删除 $PATH 路径下多余的文件地址
    Reveal 破解 无限试用
  • 原文地址:https://www.cnblogs.com/Im-Victor/p/11401531.html
Copyright © 2011-2022 走看看