Как разрабатываются большие приложения (с большим количеством окон, скажем, администрирование пользователей, роли, платежи и т.д.). Я веб-разработчик, и я привык разрабатывать разные экраны в разных html файлах. Я хочу знать, как разделять поколения Windows в разных файлах вместо того, чтобы иметь только один огромный класс Application. Заранее спасибо..
В JavaFX вы можете использовать аналогичный подход, как в веб-разработке.
Используйте BorderPane
как корневую панель.
Создать главное меню
Вы можете использовать MenuBar
с меню и MenuItems
. Вы также можете использовать TreeView или ListView, как в левой части экрана. Чтобы расположить TreeView
/ListView
с левой стороны, вы можете использовать BorderPane
и установить его влево с помощью setLeft
.
Подход, который я предпочитаю, будет заключаться в использовании управления HyperLink. Добавьте несколько HyperLink's
в VBox
и снова, установите их на левой стороне BorderPane
. После щелчка они обрабатывают событие, которое задает желаемую форму в центре BorderPane
.
Т.е.
Вопрос слишком широк, чтобы полностью ответить, но я все же думаю, что предоставление частичного ответа здесь может быть полезным.
Для реализации стратегии гиперссылок Banislav, управляющих панелью подкачки (которая не использует FXML), см. Связанный с этим вопрос: Как иметь меню в приложении java для настольных компьютеров.
Для небольшой платформы на основе FXML для переключения панелей см.: Загрузка нового fxml в той же сцене с помощью соответствующего кода примера. Обратите внимание, что образец предназначен для небольших приложений, для больших приложений предпочтительной будет более строгая структура.
Следующий шаг по сравнению с маленькой структурой, перечисленной выше, будет похож на afterburner.fx, что является "минималистским (3 класса) JavaFX MVP framework". Хотя маленький, afterburner.fx, вероятно, будет достаточным для использования в качестве ядра для приложения среднего размера. Вы можете найти небольшое приложение-образец, построенное с использованием afterburner.fx с именем airhacks-control.
Для чего-то более активного участия вы можете изучить источник SceneBuilder и SceneBuilderKit. SceneBuilder - это инструмент для разработки с открытым исходным кодом, написанный на JavaFX. Понимание и адаптация этого кода могут быть сложными для кого-то из веб-фона, поскольку его реализация значительно отличается от традиционного веб-приложения.
В очень больших приложениях применение приложения на полнофункциональной платформе, такой как RBC NetBeans, вероятно, будет предпочтительным подходом, хотя на данный момент это, вероятно, большая и сложная задача, чтобы сделать хорошо и, вероятно, потребует смешивания нескольких фреймворков, а не записывая все в JavaFX.