JavaFX 2.0: закрытие этапа (окна)
Я делаю приложение в JavaFX 2.0. Из моего главного окна я запускаю новое окно с некоторыми настройками. После того, как я закончил настройку параметров, я хочу нажать кнопку "Сохранить изменения".
Я хочу, чтобы эта кнопка сохраняла изменения и закрывала окно.
Закрывая, я имею в виду убить его, не помещать его в фоновом режиме или устанавливать видимость.
Я читал о методе Stage.close()
http://docs.oracle.com/javafx/2.0/api/javafx/stage/Stage.html
Как вы видите, это похоже на метод Hide(), который скрывает только окно, а не закрывает его.
Q: Кто-нибудь знает какие-либо методы или имеет какой-то код, который поможет мне закрыть окно?
Вся помощь будет принята с благодарностью.
Спасибо!
Ответы
Ответ 1
Связанная с документацией заявляет, что stage.close()
:
Закрывает этот этап. Этот вызов эквивалентен hide().
Поскольку hide()
эквивалентно close()
, а close()
закрывает сцену, то hide()
также закрывает сцену.
Когда все этапы приложения скрыты (или закрыты, если хотите, потому что это одно и то же), приложение завершает работу. Смущает, я знаю, но так, как команда JavaFX решила назвать и реализовать действия.
При желании метод Platform.setImplicitExit(boolean) может использоваться для отключения поведения по умолчанию при выходе из приложения, когда последнее окно закрывается или скрывается.
Ответ 2
Это отлично сработало для меня (с импортом для Node
):
((Node)(event.getSource())).getScene().getWindow().hide();