Как стать автором
Обновить

Комментарии 11

Спасибо за материал, тоже интересуюсь Java FX. Как я понимаю, данный фреймворк является одним из актуальных для создания gui на java?
Подскажите, какой наиболее удобный редактор форм для Java FX существует на данный момент?
Дык родной JavaFX Scene Builder же

Бывало приходилось после Scene Builder'а пройтись ручками, почистить сгенерированный fxml

Я бы посоветовал вместо редактора использовать Intellij IDEA. В ней есть готовый шаблон для JavaFX application. Из коробки получаете главный класс, контроллер и fxml-файл. Вот fxml-файл и будет Вашим редактором форм.
Про NetBeans и Eclipse ничего не скажу (ушел с них года 3 назад).
Можно ли проект на Свинге доработать часть форм на ЭфЭкс? Просто есть пару приложений на Свинге, интересует переход на ФХ… хочется узнать — можно ли частично, так сказать постепенно переходить или же только весь проект сразу.

Вполне возможно. Советую начать переход с простых форм, далее уже более нагруженные.

Да… я как-то забросил, форму входа сделал и забил, ибо занят был другим. Возможно ближе к НГ займусь.
А почему не сразу на fxml-то?
в то же время я надеюсь на серьезную и грамотную критику.
При написании программы с графическим интерфейсом смешивание представления, данных и бизнес-логики — это чистое, концентрированное зло. Даже в учебном проекте. Тем более в учебном проекте, в котором
Возможно, кто-то найдет ответы на возникшие когда-то вопросы

Я бы выделил:
  • List generateUsers(), getUsers(). Иначе приложение неспособно общаться с внешним миром.
  • Enum для комбобоксов. Это уберет тернарные операторы, добавит ясности и расширяемости. На моей практике, перечисления нужно создавать на всё. Реальный случай: в выборе Bid/Ask потребовался третий вариант, что было совсем неочевидно для меня как программиста и элементарно для трейдера. Дописать enum было гораздо проще, чем приседать с boolean.
  • Не полениться и создать контроллеры вместо buttonChangeSalary.setOnAction(new EventHandler). Это увяжет логику в один пучок, покажет взаимодействие объектов модели между собой, что упростит сопровождение кода и сделает явными некоторые детали. Например, обновятся ли сейчас фильтры при изменении зарплаты сотрудника? Если да, то в каких строчках это происходит? Если нет, то что и где нужно дописать и про какие side-effect нужно вспомнить?
    • Вынести верстку и управление формами в отдельные методы: createMainForm, createButtonBox и т.д. После этого нарисовать форму как часть сложного приложения, втиснуть панель про, например, детей перед фильтрами станет легче не только в плане расположения форм, но и взаимодействия контроллеров.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории