JavaFX プロジェクトを NetBeans から Eclipse にインポートしました。不思議なことに、NetBeans で問題なく動作していたコードを実行できません。SceneBuilder で小さな GUI をセットアップしました。表示したい小さな .fxml - この時点では、機能するコードはまったくありません。私のメインクラスは次のようになります。
public class Main extends Application {
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setTitle(Strings.appName);
stage.getIcons().add(new Image("sql.png"));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
しかし、コードを実行しようとすると、Eclipse コンパイラーは以下を返します。
lang.RuntimeException: com.sun.javafx.application.LauncherImpl.launchApplication1 (不明なソース) でのアプリケーション開始メソッドの例外 (com.sun.javafx.application.LauncherImpl.lambda$launchApplication$156 (不明なソース) での java.lang.Thread) .run(不明なソース) 原因: java.lang.NullPointerException: 場所が必要です。javafx.fxml.FXMLLoader.loadImpl (不明なソース) で javafx.fxml.FXMLLoader.loadImpl (不明なソース) で javafx.fxml.FXMLLoader.loadImpl (不明なソース) で javafx.fxml.FXMLLoader.loadImpl (不明なソース) javafx でcom.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163 の core.Main.start(Main.java:27) の javafx.fxml.FXMLLoader.load(不明なソース) の .fxml.FXMLLoader.loadImpl(不明なソース) (不明なソース) com.sun.javafx.application.PlatformImpl.
これは私のプロジェクト構造です:
SQL │ .classpath │ .project │ ├───.settings │ org.eclipse.jdt.core.prefs │ ├───bin │ ├───gui │ │ FXMLDocument.fxml │ │ FXMLDocumentController.class │ │ Main.class │ │ sql.png │ │ │ ├───print │ │ Allgemein.class │ │ Mahnung.class │ │ PDF.class │ │ Rechnung.class │ │ │ └───various │ Strings.class │ └───src └───gui FXMLDocument.fxml FXMLDocumentController.java Main.java
ここで何が間違っていますか?それとも、Eclipse は NetBeans にはなかった何かをここで期待しているのでしょうか?!?