[英]Failed to start application in javaFX project
在將Maven
依賴項添加到我的JavaFX程序並創建了一個名為“帶有兩個類的算法”的新程序包之后,我的應用程序無法啟動。
引發以下異常:
原因:java.lang.RuntimeException:應用程序啟動方法中的異常原因:java.lang.NullPointerException:必需的位置。
等等...
我努力了:
JavaFX“位置是必需的。” 即使在同一包裝中
和
應用程序啟動方法java.lang.reflect.InvocationTargetException中的異常
兩者都不起作用
在下面的圖像中是我的項目結構,非常感謝您的幫助。 似乎sample.fxml無效...
編輯:
在資源目錄中重新定位fxml文件也不起作用
我只是大致復制了此代碼,並將其放在我的IntelliJ上,它就像一個魅力。 也許您只是缺少資源名稱上的/
?
這是我使用的確切代碼:
package hello;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.io.IOException;
public class Hello extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Parent parent = FXMLLoader.load(Hello.class.getResource("/hello.fxml"));
Scene scene = new Scene(p, 400, 400);
primaryStage.setTitle("my app");
primaryStage.setScene(scene);
primaryStage.centerOnScreen();
primaryStage.show();
}
public static void main(String[] args) throws IOException {
launch(Hello.class);
}
}
FXML文件:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Text?>
<AnchorPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="hello.Hello"
prefHeight="400.0" prefWidth="600.0">
<VBox>
<Text>Hello</Text>
</VBox>
</AnchorPane>
與IntelliJ一起運行。 作品。 創建一個用Java -jar運行的Jar,也可以。
您的IDE IntelliJ使用模式識別來匹配文件擴展名,從而從類路徑中加載資源文件。 默認情況下,IntelliJ包括JPG,PNG,HTML等擴展名。
這意味着您需要為FXML手動指定要編譯器查找的文件擴展名。
以下是一些有關如何實現此目標的簡單說明: https : //www.jetbrains.com/help/idea/working-with-projects.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.