如何在javaFX中设置fxml文件的位置?

时间:2016-12-07 13:09:38

标签: javafx-8

我是JavaFX的新用户,虽然我想加载fxml文件,但我使用的是以下代码。

FXMLLoader loader=new FXMLLoader();
loader.setLocation(Main.class.getResource("view/secondAttempt.fxml"));

我很想知道设置位置的新方法。我不喜欢用

Main.class.getResource("view/secondAttempt.fxml")

是否有任何直接的方法来设置此fxml文件的位置? 我正在寻找一种新的解决方案,它不需要记住这么多信息来使用fxml文件。例如:

loader.setLocation("C:/view/secondAttempt.fxml"));

1 个答案:

答案 0 :(得分:1)

如果您有很多加载调用,只需创建一个小实用程序函数:

public class FXMLUtil {
   // loads an FXML file from a location relative to this class.
   public static <T> T load(String loc) throws IOException {
       FXMLLoader loader = new FXMLLoader();
       loader.setLocation(FXMLUtil.class.getResource(loc));
       return loader.load();
   }
}

像这样使用它:

Parent content = FXMLUtil.load("view/secondAttemp‌​t.fxml");