how to locate fxml from another package?

2020-02-28 05:59发布

问题:

I have created a simple JavaFX application.

It has two packages the main class is JFXTest2.java is in good package and the fxml and it's controller are in JFXTest2 package.

now the problem is that i can not load the fxml in the main class. I tried loading the fxml like this:

Parent root = FXMLLoader.load(getClass().getResource("jfxtest2.Screen.fxml"));

and

Parent root = FXMLLoader.load(getClass().getResource("jfxtest2/Screen.fxml"));

and also

Parent root = FXMLLoader.load(new URL("/jfxtest2/Screen.fxml"));

but none of them worked.So how should i load the fxml from JFXTest2 package in the the JFXTest2 class which is the main class or application class.

回答1:

Try

Parent root = FXMLLoader.load(getClass().getResource("/jfxtest2/Screen.fxml"));


回答2:

You need to use

getClass().getClassLoader().getResource("/jfxtest2/Screen.fxml")


回答3:

For me nothing worked besides this:

Parent root = FXMLLoader.load(getClass().getResource("..//jfxtest2//Screen.fxml"));


标签: javafx fxml