У меня есть такой код:
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("main.fxml"));
primaryStage.setTitle("Hello World");
primaryStage.setScene(new Scene(root, 800, 600));
primaryStage.show();
}
Как мне сделать так что бы из совершенно отдельного класса controller заменить main.fxml на server.fxml и соответственно показать его?
Допустим так:
public void onNewOrder(){
try {
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/Order/OrderNew.fxml"));
Parent page = loader.load();
Stage stage = new Stage();
stage.setScene(new Scene(page));
WeakReference<OrderNewController> newOrd = new WeakReference<OrderNewController>(loader.getController());
newOrd.get().setStage(stage);
stage.show();
} catch (IOException ex) {
logger.error(ex.getMessage());
}
}
Соответсвенно в классе OrderNewController создан сеттер для Stage и далее он в нем используется. Так же можно через какой нибудь свой класс реализующий SharedPreference передавать.
Для примера в контролллере обрабатываем закрытие окна:
public void setStage(Stage stage) {
this.stage=stage;
this.stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
public void handle(WindowEvent we) {
//обработка
}
});
}
Ну и в fxml не забыть явно определить контроллер.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть текстовое поле которое при первом запуске пусто и пользователь вбивает в него имяПри повторном запуске в поле имя уже должно отражаться
URL Rewriting как я понял нужен для поддержания сессии в случае если в браузере отключены куки (Поправьте пожалуйста, если я не прав)
Добрый день, мне необходимо спроксировать доступ к api с помощью spirng integrationСконфигурировал inboundGateway и outboundGateway