当前位置: 首页 > 知识库问答 >
问题:

多次运行javafx应用程序线程

邓元白
2023-03-14

我正在开发一个java应用程序,其中我使用java swing窗体和javafx FXML stage,我对javafx是新手,现在我在应用程序中调用具有控制器的javafx FXML stage,从swing窗体调用FXML stage,单击如下按钮----application.launch(myfxml.class);

下面的代码片段用于调用swing表单--

    public void goBack(ActionEvent ev){

    Platform.exit();

    new MySwingform().setVisible(true);
}

我得到的异常是“应用程序启动必须不要被调用不止一次”。那么,如何消除这个问题,以便我们可以一次又一次地运行javafx应用程序线程而没有任何错误呢?提前感谢您的有用建议。

共有1个答案

范霄
2023-03-14

要在swing应用程序中显示JavaFX组件,应该将它们放在JFxPanel上,而不是启动新的fx应用程序。

要做相反的事情(在Java FX应用程序中嵌入swing组件),需要Java FX8的SwingNode。

 类似资料:
  • 例如。 这应该运行一个简单的hello world应用程序,摘自oracle文档。然而,当我‘运行’这个代码,没有窗口打开。取而代之的是打开一个名为“Java”的应用程序。看起来'java'只是一个位于'jdk1.8.0_25.jdk/contents/home/bin'中的'UNIX可执行文件‘。应用程序'java'绝对不显示任何东西,并且在没有强制退出的情况下无法关闭。 我在MacBook上运

  • 版本 openjdk版本“11.0.11”2021-04-20 如果可能的话,请不要告诉我像我以前看到其他人回答的那样“阅读基础知识”。我只是不确定为什么我的代码不能在我的最后一个项目中运行。 提前谢谢你!

  • 在我的应用程序中,在程序的整个生命周期中,有n个操作必须依次发生。我决定为每个操作创建一个线程,让它们执行一次run方法,然后等待所有其他线程都执行相同的操作,等待轮到它,然后再次执行,依此类推,而不是创建实现这些操作的方法并在while(true)循环中按顺序调用它们。。。 为了实现这个机制,我创建了一个名为StatusHolder的类,它有一个名为threadTurn的字段(表示应该执行哪个线

  • 作为一个软件开发人员,我需要做哪些步骤来允许我的JavaFX应用程序与JDK11+一起运行?有什么好的广告吗?是否可以通过Gradle获得OpenJDK?

  • 我无法运行JavaFX-Kotlin应用程序。 我的初学者类 我不能将param“args”传递给“launch”方法,因为编译器说: 错误:(19,9)Kotlin:不能使用提供的参数调用以下函数:public open fun launch(p0:class!,vararg p1:string!):javafx.application.application中定义的单元public open

  • 我的朋友最近给我发送了我们正在处理的javaFX项目的源代码。但是我无法运行它,因为它没有正确配置。如果我尝试将其配置为“应用程序”,但它不允许我选择MainClass文件。它最初是在Eclipse中编程的。有人能解释一下我如何运行这个程序吗?在项目结构中,我将Artifacts设置为javaFX应用程序,但这似乎没有改变什么。