Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有SWING和JavaFX的Java用户界面_Java_Javafx - Fatal编程技术网

带有SWING和JavaFX的Java用户界面

带有SWING和JavaFX的Java用户界面,java,javafx,Java,Javafx,我知道这是一个简单的问题,但没有比堆栈溢出更好的地方了。我一直在开发一个Java桌面应用程序,它连接到一个远程数据库,并使用大量JTable和jasper报告。我已经到了必须开始考虑用户界面的时候了,我注意到我可以使用JavaFX来实现这一点。根据我所做的一些研究,JavaFX似乎提供了比SWING更好的用户界面。我的问题是,JavaFX是否适合我的应用程序?当我的应用程序使用大量数据库查询、表和jasper报表时,我可以使用它吗?还是我应该坚持挥杆?如果我应该使用JavaFX,我应该从哪里开始

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

对于优秀的GUI,我认为你应该使用JavaFX。在Java8中,javafx现在看起来更稳定了。 您可以使用javafx控件来控制当前的swing应用程序。 关于数据库交互,如果任何表中都有大量数据,请不要尝试将整个数据提取到javafx tableview控件,因为这将导致“内存不足”问题。始终在数据库中处理数据,不要给JVM加载。 所以对于批量数据,我建议您可以使用当前的JTable 但是javafx非常酷,你可以开始探索它。

开始在JavaFX TableView中显示数据库数据没有任何特定问题

一个可能值得关注的领域是印刷。我相信Jasper已经内置了一些东西来打印JTables,JTables也有一个打印方法。打印多页表格视图更复杂


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

JavaFx肯定是未来的发展方向。但是:它仍然有很多bug,如果你试图用新内容重新使用相同的对象,例如TableView,很容易造成内存泄漏。

这些链接很有用,但它们没有解决我主要关心的数据库连接和Jasper报告问题。我更多地把这些链接作为起点,你能澄清一下“使用了很多JTables…我必须开始考虑用户界面”吗?
JTable
是一个用户界面组件,因此如果您已经创建了
JTable
s,那么您已经开始构建UI。