我正在Java FX项目上工作,我创建了两个FXML文件,我想将另一个窗格加载到主要的麻烦,即Border Pane。我想将另一个窗格加载到“边框窗格”中心区域!这是我的项目的入口点,它是一个Java文件package javafxapplication8; import java.io.IOException; import javafx.application.Application; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.input.MouseEvent; import javafx.scene.layout.BorderPane; import javafx.stage.Stage; /** * * @author Anu */ public class JavaFXApplication8 extends Application { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML void handleButtonAction(MouseEvent event) throws IOException { } /** * @param args the command line arguments */ public static void main(String[] args) { launch(args); } }之后,这将显示主要的FXML文件,该文件显示了我的“边框”窗格<?xml version="1.0" encoding="UTF-8"?> <?import com.jfoenix.controls.JFXButton?> <?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.BorderPane?>但是,当我单击“按钮”时,这给了我很多错误!我的项目结构:有人可以告诉我想念我的地方吗?谢谢你。
1 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
有两个原因
javafx.stage.Stage.class.getResource("FXML.fxml")
返回null
是导致异常的原因:
不是以开头的资源
/
是相对于该类解析的,即,在这种情况下,java正在寻找的资源/javafx/stage/FXML.fxml
不是您的资源的实际位置Stage
由于某种原因,似乎使用了无法解析jar中资源的其他类加载器。确保使用可以访问jar的类加载器加载的其他类,例如,使用FXMLDocumentController.class
loader.setLocation(FXMLDocumentController.class.getResource("/javafxapplication8/FXML.fxml"));
注意:您可能需要使用Clean and Build将新.class
文件添加到jar中。
添加回答
举报
0/150
提交
取消