当我 运行 miglayout-javafx-5.2.jar 使用 MigPane 时,为什么会出现错误 "Missing JavaFX application class application.Main"?

why do i get the error "Missing JavaFX application class application.Main" when i run miglayout-javafx-5.2.jar to use MigPane?

我一直在尝试使用 miglayout-javafx-5 运行 我的应用程序。2.jar,但是每次我 运行 该应用程序时,我都会收到错误消息,指出“缺少 JavaFX 应用程序 class application.Main”。link 中的屏幕截图显示了我下载的所有 jar。 谢谢您的帮助! https://i.stack.imgur.com/IrLoN.png 下面是我的代码:

import org.tbee.javafx.scene.layout.MigPane;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.*;

public class Main extends Application {
 @Override
public void start(Stage primaryStage) {
    try {
        MigPane root = new MigPane();
        Button b = new Button("Cick me");
        root.add(b);
        Scene scene = new Scene(root,400,400);
        primaryStage.setScene(scene);
        primaryStage.show();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    launch(args);
}
 Error: "Missing JavaFX application class application.Main"

}

我为 migpane 下载的 jar 是: miglayout-javafx-5.2.jar miglayout-core-5.2.jar 我还在 eclipse 中下载了 javafx,如果我不使用 migpane,它似乎可以工作,但是当我使用 migpane 时,我得到错误:"Missing JavaFX application class application.Main"

自从 Java 11+ 以来,我在 JavaFX 方面也遇到了类似的问题。可能是你的应用不是模块造成的。

作为解决方法,试试这个:

import org.tbee.javafx.scene.layout.MigPane;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.*;

public class Main {

  public static void main(String[] args) {
    launch(MainApplication.class, args);
  }

  public static class MainApplication extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
      MigPane root = new MigPane();
      Button b = new Button("Cick me");
      root.add(b);
      Scene scene = new Scene(root, 400, 400);
      primaryStage.setScene(scene);
      primaryStage.show();
    }
}

然后启动 Main

此外:使用 IDE 及其代码格式化程序,远离 e.printStackTrace() :-)