【问题标题】: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 以使用 MigPane 时收到错误“缺少 JavaFX 应用程序类 application.Main”?
【发布时间】:2020-10-05 02:06:33
【问题描述】:

我一直在尝试使用 miglayout-javafx-5.2.jar 运行我的应用程序,但是每次运行该应用程序时,我都会收到错误消息,指出“缺少 JavaFX 应用程序类 application.Main”。链接中的屏幕截图显示我下载的所有 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 下载的 jars 是: miglayout-javafx-5.2.jar miglayout-core-5.2.jar 我还在 Eclipse 中下载了 javafx,如果我不使用 migpane,它似乎可以工作,但是当我使用 migpane 时出现错误:“缺少 JavaFX 应用程序类 application.Main”

【问题讨论】:

  • 请尽量避免截图并将其内容直接发布到您的问题
  • @Domso 它不允许我这样做,但是如果你能告诉我怎么做,我肯定会马上做。谢谢
  • 您应该能够编辑您的问题并复制代码和相应的错误消息。更多详情请见stackoverflow.com/help/formatting
  • @Domso 这是正确的格式吗?

标签: javafx miglayout


【解决方案1】:

自 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() :-)

【讨论】:

  • 很高兴听到!那你能接受答案吗?
  • @Michael Jung 如何在 javafx 中为整个应用程序设置默认 CSS 样式表?感谢您的帮助!
  • scene.getStylesheets().add("test.css"); 但请不要在 cmets 中提问,请尝试 Google 或在 SO 上打开新问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-11
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 2020-03-13
  • 2022-01-17
相关资源
最近更新 更多