Я как бы новичок в программировании, и у меня возник такой вопрос. Как правильней открыть новое окно по кнопке используя javaFX? У меня есть первоначальное оформление окна в sample.fxml, в классе Main я его запускаю, по определенной кнопке из sample у меня должно открыться второе окно (из другого fxml файла), так вот как это правильно реализовать?
Как я понимаю мне надо в контроллере написать обработчик событий на открытие окна по нажатию нужной кнопки, и уже в sample задать этой кнопке метод открытия нового окна, это правильный подход? или какая логика при подобных задачах?
Спасибо.
Что бы добавить событие, срабатывающее по нажатию кнопки, в fxml добавьте параметр для кнопки onAction="#openNewStage"
(окно - это stage
, содержимое окна - scene
), далее IDE подсветит Вам красным и предложит самой сделать его в java файле (если в fxml вы указали контроллер конечно).
Далее в этом методе вам нужен код идентичный тому, что был в методе start, которым вы отобразили основное окно, за одним исключением, там primaryStage передавался готовый, тут его нужно будет создать Stage newStage = new Stage()
.
Немного забегая вперед, при клике на кнопку будет каждый раз вызываться fxmlLoader.load()
- это не самая быстрая команда, попробуйте сделать код так, что бы она вызывалась только один раз, а потом использовался ее результат полученный ранее.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Возникла задача и не знаю с какой стороны к ней подступитьсяЕсть Postgre В БД есть 9 таблиц, в некоторых из них поля совпадают, в некоторых - нет