открытие окна по кнопке JavaFX

184
28 ноября 2018, 12:00

Я как бы новичок в программировании, и у меня возник такой вопрос. Как правильней открыть новое окно по кнопке используя javaFX? У меня есть первоначальное оформление окна в sample.fxml, в классе Main я его запускаю, по определенной кнопке из sample у меня должно открыться второе окно (из другого fxml файла), так вот как это правильно реализовать?

Как я понимаю мне надо в контроллере написать обработчик событий на открытие окна по нажатию нужной кнопки, и уже в sample задать этой кнопке метод открытия нового окна, это правильный подход? или какая логика при подобных задачах?

Спасибо.

Answer 1

Что бы добавить событие, срабатывающее по нажатию кнопки, в fxml добавьте параметр для кнопки onAction="#openNewStage" (окно - это stage, содержимое окна - scene), далее IDE подсветит Вам красным и предложит самой сделать его в java файле (если в fxml вы указали контроллер конечно). Далее в этом методе вам нужен код идентичный тому, что был в методе start, которым вы отобразили основное окно, за одним исключением, там primaryStage передавался готовый, тут его нужно будет создать Stage newStage = new Stage().

Немного забегая вперед, при клике на кнопку будет каждый раз вызываться fxmlLoader.load() - это не самая быстрая команда, попробуйте сделать код так, что бы она вызывалась только один раз, а потом использовался ее результат полученный ранее.

READ ALSO
Как сделать “жирными” элементы с тегом H2 Jsoup?

Как сделать “жирными” элементы с тегом H2 Jsoup?

Есть код для парсинга страницы:

172
Объединение нескольких таблиц SQL-бд SQL или Java

Объединение нескольких таблиц SQL-бд SQL или Java

Возникла задача и не знаю с какой стороны к ней подступитьсяЕсть Postgre В БД есть 9 таблиц, в некоторых из них поля совпадают, в некоторых - нет

169