У меня есть несколько экземпляров, где я хочу загрузить один и тот же файл FXML, чтобы захватить некоторую информацию.утилита javafx для загрузки файла FXML
В идеале, это будет случай для разработки утилиты, например, один раз, использовать много раз.
Это текущий пример, используя метод private
в пределах класса:
private ServiceEvent_NewController loadServiceEvent_Stage(Stage primaryStage)
{
ServiceEvent_NewController controller = null;
try
{
FXMLLoader loader = new FXMLLoader(getClass().getResource("/View/ServiceEvent_New.fxml"));
Parent root = loader.load();
// Create the dialog Stage.
Stage dialogStage = new Stage();
dialogStage.initModality(Modality.WINDOW_MODAL);
dialogStage.initOwner(primaryStage);
Scene scene = new Scene(root);
dialogStage.setScene(scene);
controller = loader.getController();
controller.setDialogStage(dialogStage);
}
catch (IOException npe)
{
String message = npe.getMessage();
System.out.println(message);
}
return controller;
}
У меня есть класс полезности (public final class LM_Utility
).
Если я пытаюсь создать метод для загрузки FXML здесь с помощью:
public static ServiceEvent_NewController loadServiceEvent_Stage(Stage primaryStage)
компилятор жалуется "non-static method getClass() cannot be referenced from a static context"
.
Есть ли способ создать подходящий метод утилиты для загрузки таких файлов, чтобы я мог «писать раз и использовать много раз»?
Вы попробовали ServiceEvent_NewController.class.getResource ("...")? –