Создадим простейший проект для JavaFX в среде разработки IntelliJ >JavaFX и также подключить к нему все необходимые библиотеки. Выберем первый способ. При создании нового проекта выберем шаблон Java :
Далее в качестве шаблона проекта выберем Command Line App :
Затем дадим проекту какое-либо имя, например, HelloJavaFX:
По умолчанию сгенерированный проект содержит файл Main.java. Изменим его код:
Это простейшее JavaFX-приложение, которое отображает небольшое окно. Но при добавлении кода мы можем увидеть, что среда не распознает используемые пакеты:
Чтобы все работало, нам надо подключить библиотеки JavaFX. Для этого перейдем в меню File -> Project Structure :
В открывшемся окне перейдем к пункту Libraries :
В этой вкладке нажмем на знак + и в открывшемся диалоговом окне выберем путь к каталоге lib в папке, где распакован JavaFX SDK. И нажмем на OK для подключения библиотек.
И далее нажмем на кнопку Apply.
Далее перейдем в меню Run -> Edit Configuration к полю VM options и определим в нем следующий параметр:
Например, в моем случае JavaFX SDK распакован в папку C:javafx-sdk, поэтому я указываю
И в конце нажмем на кнопки Apply и OK.
После этого мы сможем наслаждать разработкой на JavaFX в IntelliJ IDEA.
При создании нового проекта мы могли бы выбрать шаблон JavaFX :
Но его единственное отличие состоит в том, что он добавляет ряд дополниельный файлов, которые уже по умолчанию формируют простейщее приложение JavaFX. Но тем не менее даже в этом случае необходимо также подключать к проекту библиотеки JavaFX.
Глобальные настройки
Однако настраивать каждый отдельный проект может быть утомительно, особенно если мы часто создаем новые проекты для JavFX. В этом случае мы можем определить все настройки глобально для всех проектов.
Для этого перейдем к пункту меню File -&g; Settings . Затем в открывшемся окне перейдем к пункту Appearance & Behavior -> Path Variables
Нажмем на добавление новой переменной и в окне введем в качестве названия переменной PATH_TO_FX , а в качестве ее значения – путь к каталогу lib в папке JavaFX SDK.
Однако в этом случае в меню Run -> Edit Configuration для поля VM options также необходимо задать параметр:
Данный урок более справочный чем учебный, но мало кто знает о том, что в Intellij IDEA можно использовать JavaFX Builder. В этом уроке мы рассмотрим как это сделать.
Шаг 1
Создаем новый проект:
Обратите внимание что мы выбрали JavaFX Application.
Шаг 2
Теперь заходим на этот сайт и скачиваем Scene Builder 1.1, и потом устанавливаем.
Далее заходи в наш проект и по файлу sample.fxml нажимаем правой кнопкой мыши.
После этого выберите установленный Scene Builder:
После этого откроется Scene Builder.
Шаг 3
Изначально наш sample.fxml имел следующее содержимое:
После того как мы откроем её в Scene Builder и добавим несколько элементов:
В итоге файл sample.fxml будет иметь следующую структуру:
Шаг 4
Теперь давайте запустим наш проект и посмотрим, что же получилось:
Пост вольный перевод статьи:
Для начала создаем проект JavaFX
Выбираем JavaFX и жмем Next
Даем имя проекту и жмем Finish.
Контроллер – это класс, предназначенный для непосредственной обработки запросов от клиента и возвращения результатов.
Чаще всего, в самом контроллере не описывается логика обработки данных. Создаются дополнительные, сервисные классы, которые выполняют все основные задачи по обработке данных. Задача методов в контроллере – вызов сервисных методов в нужном порядке и возвращение результатов клиенту.
Основная задача методов контроллера – определить требуемое действие, корректно принять данные, корректно возвратить результат. При тестировании методов клиента рекомендуется проверять не фактическую обработку данных, а корректный вызов всех команд в методе – предполагая, что алгоритм работы этих методов продуман верно.
Файл sample.fxml отвечает за интерфейс пользователя.
Переименовываем Controller в файле Controller.java
1. Наводим на имя класса-контроллера (Controller), выбираем Refractor->Rename и меняем имя класса-контроллера:
Жмем enter и завершаем рефракторинг. В файле sample.fxml должно было измениться имя класса контроллера: fx:controller="sample.SampleController"
Важный момент, конструкция fx:id будет использоваться часто, она означает, что мы работаем с объектом класса Controller.
Создадим кнопку в интерфейсе пользователя, для этого в файл sample.fxml добавим следующие сточки:
Возможно, понадобиться руками добавить:
Как видите sayHelloWorld отмечен красным цветом, а helloWorld выделен.
Используя встроенные функции IDEA создадим поле helloWorld в файле SampleController.java
Жмем enter, завершаем рефракторинг.
Далее создаем функцию sayHelloWorld встроенными способами IDEA:
Жмем enter и завершаем рефракторинг.
Добавляем действие в функцию sayHelloWorld:
Результат работы программы:
Добавим стили в нашу программу.
В файл sample.fxml добавим следующий текст:
Встроенными методами IDEA создадим файл sample.css
В файл sample.css добавляем текст:
-fx-background-color: gold; //Цвет заднего фона окна
-fx-font-size: 20; //Высота текста Hello World
Результат работы программы:
Найдены дубликаты
Мда .. шёл 2018 год. Только сегодня попробовал JavaFX и офигел. Ну и шняга! Вот мне интересно, java ведь самый распространённый язык мира. Почему же тут так много сделано через жопу ?
Качаем jde с сайта оракл. Ставим. Прописываем переменные в path.
Качаем jdk с сайта оракл. Ставим. Прописываем переменные в path.
Качаем intellij idea с другого сайта (потому что эклипс и нетбин ещё хуже). Ставим, указываем путь к jdk.
Так, пробуем создавать форму с JavaFx (потому что swing вроде как устарел давно и всюду). Мля .. нету SceneBuilder! Качаем его с другого сайта. Ставим, указываем путь.
Обычно, кинув кнопку на форму, я ожидаю, что по двойному клику IDE _сама_ создаст событие "нажатие на кнопку" и переместит меня туда. Ха! Для java это слишком просто – будьте любезны херачить всё руками (а если у меня 30 элементов на форме ? )
Так, я хочу написать сервлет. ах, да! Совсем ведь забыл, для этого надо качать и покупать intellij idea ultimate.
Загуглим-ка учебные материалы по java. В рунете большинство курсов начинается с написания java-кода в блокноте и компиляции его в командной строке. Бл#дь, вы серьёзно ?
И да, я все эти шаги проходил, поэтому они мне знакомы. А сколько времени потратит новичок на то, чтобы во всём этом разобраться ?
Даже грёбанная 1С и то куда юзер-френдли. Вот у меня и вопрос – wtf ?