【问题标题】:Java user interface with SWING vs JavaFX带有 SWING 与 JavaFX 的 Java 用户界面
【发布时间】:2014-06-03 20:51:19
【问题描述】:

我知道这是一个简单的问题,但没有比堆栈溢出更好的问题了。我一直在开发一个 Java 桌面应用程序,它连接到远程数据库并使用大量 JTables 和 jasper 报告。当我必须开始考虑用户界面时,我已经到了这一点,我注意到我可以为此使用 JavaFX。根据我一直在做的一些研究,JavaFX 似乎提供了比 SWING 更好的用户界面。我的问题是,JavaFX 是否适合我的应用程序?当我的应用程序使用大量数据库查询、表格和 jasper 报告时,我可以使用它吗?还是我应该坚持使用 SWING?如果我应该使用 JavaFX,我应该从哪里开始构建一个应用程序,该应用程序使用 JavaFX 作为界面,使用 Java 作为幕后代码(书籍、网站)?谢谢。

【问题讨论】:

  • 这些链接很有用,但它们并没有解决我对数据库连接和 Jasper 报告的主要担忧。
  • 我将链接更多地作为起点,直到出现对该主题更了解的人。
  • 您能否澄清“使用了很多 JTables...我必须开始考虑用户界面”? JTable 是一个用户界面组件,因此如果您创建了 JTables,那么您已经开始构建 UI。

标签: java javafx


【解决方案1】:

对于出色的 GUI,我认为您应该使用 javafx。在 java 8 中,javafx 现在看起来更稳定了。 您可以对当前的 Swing 应用程序使用 javafx 控件。 关于数据库交互,如果您在任何表中有大量数据,请不要尝试将整个数据提取到 javafx tableview 控件,因为这会导致“内存不足”问题。始终在数据库中处理您的数据,不要给 JVM 带来负载。 所以对于批量数据,我建议你可以使用当前的 JTable 但是 javafx 很酷,你可以开始探索它。 从http://docs.oracle.com/javase/8/javase-clienttechnologies.htm开始吧

【讨论】:

    【解决方案2】:

    在 JavaFX TableView 中显示数据库数据没有具体问题。

    可能需要关注的一个领域是打印。我相信 Jasper 已经内置了打印 JTables 的东西,而 JTables 也有一个打印方法。打印多页 TableView 更复杂。

    此外,如果您不能使用 Java 8,您将无法获得 API 的最新改进(例如与打印相关的)。

    【讨论】:

      【解决方案3】:

      JavaFx 肯定是未来的方向。但是:它仍然有很多错误,并且如果您尝试使用新内容重用相同的对象,则很容易使用 TableViews 造成内存泄漏。

      【讨论】:

        猜你喜欢
        • 2015-06-02
        • 2011-08-15
        • 2017-11-10
        • 2016-06-18
        • 1970-01-01
        • 2012-11-04
        • 2019-03-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多