java - 富客户端平台与 JavaFX 2 与 Swing

标签 java swing user-interface rcp javafx-2

很快,我们将需要开发一个 GUI 来为我们工作中的 EAI 解决方案创建配置(老实说,更像是脚本)。想想一个典型的工作流程编辑器。实际流程的可视化很可能是一项完全自定义的工作,无论是在 Swing、SWT 还是 JavaFX 2 中。我难以选择的是是自己完成其他所有工作还是使用富客户端平台。

特别是,我注意到 JavaFX 2 受到了很多关注,并且似乎真的被 Oracle 插入为 Java GUI 领域的下一件大事。演示看起来很有趣,也许这个较新的 API 更关注生产力,而不是 Swing 倾向于强加的大量样板代码。使用获得大量支持的新技术似乎是 future 维护的安全选择。

使用 RCP 对这个项目有一定的好处。无论我们选择 Eclipse 还是 NetBeans 作为平台,拥有用于查看底层 (XML) 配置、版本控制等的现有插件/模块都将以最少的工作提供强大的功能。我也喜欢在同一个 GUI 中将我们软件的项目类型与 Java 项目放在一起的想法。即使是像窗口管理和自定义排列面板这样简单的事情,RCP 也能比我们能迅速搞定的处理得更好。

所以现在的问题是,哪种技术或它们的组合是可行的?据我所知,我的选择是:

  • eclipse 。不过,我不太热衷于使用 SWT,因为我更熟悉 Swing。 NetBeans 也是我的主要 IDE,我对它最为熟悉。它总是感觉更直观。
  • NetBeans。这将允许在 Swing 中开发自定义组件。对我来说学习曲线较低。
  • NetBeans + JavaFX 2。这个想法很吸引我...使用 NetBeans 实现 RCP 优势,使用 JavaFX 2 实现自定义组件。 JavaFX 2 显然与 Swing 集成,但在 NetBeans 中如何才能做到这一点?
  • Swing 或 JavaFX 2. 自己完成所有 GUI 工作或使用一些现有框架来获得 RCP 提供的大部分功能。这看起来工作量很大,但也提供了极好的控制。我有点不愿意在 Swing 中尝试这个。 JavaFX 2 对此的适应程度如何?

基本上我唯一的 GUI 经验是在小型应用程序上使用 Swing。这是我第一次寻求可以保证 RCP 的东西。但 JavaFX 2 似乎是前进的方向,我不想错过那个机会。如果 Swing 可能即将过时,我宁愿加入更新的技术。

如果有人可以分享他们的经验,尝试过 NetBeans + JavaFX 2 之类的东西,或者更接近 JavaFX 的最前沿,并且可以推荐/劝阻将其用于此类事情,我将最感兴趣。

我意识到这是一个有点开放的问题,但我真的想不出更合适的地方。我不是在寻找“什么是最好的 RCP/JavaFX 比 Swing 更好”的辩论。我正在寻找支持/反对在这种情况下使用它们的有效观点。

最佳答案

我的几行意见,

JavaFX2 可以集成到 Swing 和 SWT 应用程序到面板/容器中。

Swing 不提供结构化架构来处理多组件应用程序,Eclipse RCP 提供,但它更重且有时过于复杂(WindowWorkbench 等)并且难以定制。

如果您的团队中有一位优秀的 UI 设计师(开发人员或图形设计师),您应该开始使用一个简单但功能强大的框架(如 JRebirth 或您可以按照自己的方式构建的自定义框架)的完整 JavaFX2 应用程序.

JavaFX 将成为 future 几年的 Java UI 标准,这不会是一个错误的选择,因此它的架构非常好且功能强大 此外,javaFX2 可以在 JNLP 的帮助下用于浏览器和/或在线部署。 不要打扰你学习复杂的未记录框架(如 EclipseRCP),创建你的!并自由地制作您的客户需要的应用程序 :D

我在 Swing Appz 上工作了 3 年,在 Eclipse RCP 上工作了 2 年,在 Flex/Silverlight/JavafX 应用程序上工作了 2 年

关于java - 富客户端平台与 JavaFX 2 与 Swing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8136079/

相关文章:

java - "Declaring Classes"Java 教程关于私有(private)类的错误?

java - JDBC,Java调用Sqlserver存储过程

java - 文件写入打印机、文件输出流

java - 如何用Android代码制作系统应用程序

java - 使用 HashMap 将数据输入表中

java - 为什么 KeyListener 仅在未按下按钮时才起作用?

java - 在新的 JFrame-2 中显示 Jtable 内容后,如何将其保留在主 JFrame-1 上

java - JLabel setText 不更新文本

iphone - 切换到应用程序时 default.png 使用什么

svn - 在哪里可以找到 SVN 应用程序,它将以图形方式将整个树(或分支)显示为 map