当需要混合使用 javafx(第 3 方库)和 spring mvc rest 时,选择什么 java 应用程序设计
What java application design to choose when needing a mix of javafx (3rd party libs) and spring mvc rest
我必须创建一个 java 应用程序。我不是编程新手,但对 java 比较陌生。所以我有一个关于应用程序设计的问题。
情况: 我必须使用第 3 方库,其中包含一些所谓的 "toolkits"。该库中的一个工具包使用 javafx。我的应用程序主要依赖于这个 lib,应该向 lib 请求数据,接收它,然后我想通过 spring rest 或 sockets 或其他方式填充此数据。否则。
我已经尝试过 spring mvc 应用程序,它在另一个线程中启动 javafx 应用程序,每次调用来自 mvc rest 控制器,用 "runLater".
调用 javafx
问题是,当这个库想要显示一个 javafx gui 时,它会被显示并且按钮是可点击的(gui 不会冻结),但图形用户界面(尤其是列表视图)可能不会更新。我无法调试它,因为列表视图取决于硬件输入事件 (usb)。也许我不能那样混合 javafx 或者我错误地访问了这个线程。或者也许我做的一切都正确,问题可能不是 javafx 和 spring mvc rest 的混合。也许它是完全不兼容的。我自己也不知道。
所以,我要求一个适合我需要的应用程序设计。如果有人可以解释我如何将完整的第 3 方库移动到 javafx 线程,我可以从 spring mvc rest 控制器安全地调用它,那就太好了。因此,结果会弹出 gui(这已经有效),但它做对了(可能不起作用)。但任何其他应用程序设计(额外服务、多个 jvms/jar/进程/套接字)等都值得赞赏。但由于 java 对我来说比较陌生,我不得不请教专业人士。但是这个第 3 方库是必不可少的,只能作为 jar 提供。
我对 javafx 部分没有影响,也不允许我发布这个第 3 方库的一些代码。但是这个第 3 方库中的这些 "toolkits" 大部分被声明为 "static" - 如果有帮助的话。
如果你想继续使用 "spring mvc rest and javafx" 方法,我可以 post main() (Application.java)
的代码
非常感谢。希望你不要投反对票,尽管这是一个更笼统的问题。
似乎可以使用 Spring MVC Rest 并调用一些 javafx 库,但建议使用 Threads 和 Plattform.runLater() 以避免冻结gui(甚至更糟)。
我没有更新第 3 方的列表视图的特殊问题 javafx lib 是由于没有从 intellij 加载库引起的。第 3 方库没有抛出任何异常所以我想,这是一个线程问题。
到目前为止,一切都按预期进行。我还学习了一些关于 java、javafx、并发(例如 CountdownLatch)和 spring 的规则。也许,这是其他人的起点。
编码愉快!
我必须创建一个 java 应用程序。我不是编程新手,但对 java 比较陌生。所以我有一个关于应用程序设计的问题。
情况: 我必须使用第 3 方库,其中包含一些所谓的 "toolkits"。该库中的一个工具包使用 javafx。我的应用程序主要依赖于这个 lib,应该向 lib 请求数据,接收它,然后我想通过 spring rest 或 sockets 或其他方式填充此数据。否则。
我已经尝试过 spring mvc 应用程序,它在另一个线程中启动 javafx 应用程序,每次调用来自 mvc rest 控制器,用 "runLater".
调用 javafx问题是,当这个库想要显示一个 javafx gui 时,它会被显示并且按钮是可点击的(gui 不会冻结),但图形用户界面(尤其是列表视图)可能不会更新。我无法调试它,因为列表视图取决于硬件输入事件 (usb)。也许我不能那样混合 javafx 或者我错误地访问了这个线程。或者也许我做的一切都正确,问题可能不是 javafx 和 spring mvc rest 的混合。也许它是完全不兼容的。我自己也不知道。
所以,我要求一个适合我需要的应用程序设计。如果有人可以解释我如何将完整的第 3 方库移动到 javafx 线程,我可以从 spring mvc rest 控制器安全地调用它,那就太好了。因此,结果会弹出 gui(这已经有效),但它做对了(可能不起作用)。但任何其他应用程序设计(额外服务、多个 jvms/jar/进程/套接字)等都值得赞赏。但由于 java 对我来说比较陌生,我不得不请教专业人士。但是这个第 3 方库是必不可少的,只能作为 jar 提供。
我对 javafx 部分没有影响,也不允许我发布这个第 3 方库的一些代码。但是这个第 3 方库中的这些 "toolkits" 大部分被声明为 "static" - 如果有帮助的话。
如果你想继续使用 "spring mvc rest and javafx" 方法,我可以 post main() (Application.java)
的代码非常感谢。希望你不要投反对票,尽管这是一个更笼统的问题。
似乎可以使用 Spring MVC Rest 并调用一些 javafx 库,但建议使用 Threads 和 Plattform.runLater() 以避免冻结gui(甚至更糟)。
我没有更新第 3 方的列表视图的特殊问题 javafx lib 是由于没有从 intellij 加载库引起的。第 3 方库没有抛出任何异常所以我想,这是一个线程问题。
到目前为止,一切都按预期进行。我还学习了一些关于 java、javafx、并发(例如 CountdownLatch)和 spring 的规则。也许,这是其他人的起点。
编码愉快!