从我的java课程中,我使用了
Chart.main(args)
用参数启动我的javafx类。 程序在javafx类中被阻止而无法返回到我的java类的问题。
使用
Chart.launch(args);
我收到错误:
java.lang.runtimeException:错误:类图像不是
subclass
的{{1}}。
我找到了类似的示例,从javafx.application.Application
开始javafx
,但没有参数。
java
感谢您的帮助。
答案 0 :(得分:2)
launch()
method taking a Class
parameter也会获取参数列表,因此您可以执行
Application.launch(Chart.class, args);
请注意,在JavaFX应用程序退出之前,launch()
方法会阻塞。因此,根据您要完成的操作,您可能需要从后台线程调用此方法,例如
new Thread(() -> Application.launch(Chart.class, args)).start();
答案 1 :(得分:0)
这是一个例子,你的java代码是:
public class FXLauncher {
public static void main(String[] args) {
FXApplication application = new FXApplication();
application.handleArgs(args);
new Thread(application ).start();
}
}
,您的JavaFx应用程序如下:
import javafx.application.Application;
import javafx.stage.Stage;
public class FXApplication extends Application implements Runnable {
public void handleArgs(String[] args){
// handle java args
System.out.println(args);
}
@Override
public void start(Stage stage) throws Exception {
// your javafx code
}
@Override
public void run(){
launch();
}
}