【JAVAFX】自定义FXML 文件存放的位置以及使用

情况 1:FXML 文件与调用类在同一个包中(推荐)

假设类 MainApp 的包是 com.example,且 FXML 文件放在 resources/com/example 下:

项目根目录
├── src
│   └── sample
│       └── Main.java
├── src/sample/resources
│   └── sample
│       └── my_view.fxml

使用 getClass().getResource() 的正确方式

URL fxmlUrl = getClass().getResource("my_view.fxml");
FXMLLoader loader = new FXMLLoader(fxmlUrl);
情况 2:FXML 文件在与调用类在同一个包中,且资源目录的子文件夹中

例如,FXML 文件位于 resources/com/example/view

项目根目录
项目根目录
├── src
│   └── sample
│       └── Main.java
├── src/sample/resources
│   └── sample1
│       └── my_view.fxml

使用 getClass().getResource() 的正确方式

// 使用绝对路径(以 / 开头表示从 classpath 根目录开始)
URL fxmlUrl = getClass().getResource("/sample/resources/sample1/samplexiala1.fxml");
FXMLLoader loader = new FXMLLoader(fxmlUrl);

你可能感兴趣的:(javafx,java)