Меню

Настройка scene builder в intellij idea



Настройка scene builder в intellij idea

Создадим простейший проект для JavaFX в среде разработки IntelliJ IDEA. Данная среда предлагает нам несколько вариантов: мы можем выбрать шаблон проекта для обычных Java-приложений и затем добавить в него все необходимые библиотеки, либо мы можем выбрать встроенный шаблон 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 также необходимо задать параметр:

Источник

Configure JavaFX Scene Builder

IntelliJ IDEA allows you to open .fxml files in JavaFX Scene Builder right from the IDE after you specify the path to the Scene Builder application in the settings.

Configure JavaFX Scene Builder in IntelliJ IDEA

Download and install the latest version of Scene Builder.

In the Settings/Preferences dialog Ctrl+Alt+S , select Languages and Frameworks | JavaFX .

Click in the Path to SceneBuilder field.

In the dialog that opens, select the Scene Builder application (executable file) on your computer and click OK .

Apply the changes and close the dialog.

Open files in Scene Builder

When you open an .fxml file in the editor, there are two tabs underneath the editing area: the Text tab is for developing the markup, and the Scene Builder tab is for editing the file in Scene Builder.

Читайте также:  Настройка зажигания в одноцилиндровых двигателях

Scene Builder 2.x. and later.

If you are using Scene Builder of the version 2.x. and later, the files will be opened in Scene Builder on the Scene Builder tab by default.

Scene Builder 1.x

If you are using Scene Builder of the version 1.x, the Scene Builder tab is empty. In this case, right-click the necessary .fxml file in the Project tool window and select Open In SceneBuilder from the context menu.

Источник

code .makery

Learning how to code.

Статьи в этой серии

Скачать исходники

Языки

Часть 1: Scene Builder

Часть 1: Содержание

  • Знакомство с JavaFX;
  • Создание и запуск проекта JavaFX;
  • Использование приложения Scene Builder для проектирования пользовательского интерфейса;
  • Простая структуризация приложения с использованием шаблона MVC.

Предварительные требования

  • Последняя Java JDK 8 (включающая в себя JavaFX 8);
  • Среда разработки Eclipse версии 4.4 или выше с установленным плагином e(fx)lipse. Уже настроенную версию Eclipse можно скачать с сайта e(fx)lipse. Или использовать сайт обновлений, если Eclipse уже установлена.
  • Приложение Scene Builder версии 8.0 или новее. Сейчас оно предоставляется Gluon, потому как Oracle теперь распространяет его только в виде исходного кода. Предыдущая версия Scene Builder 2.0.

Настройка среды разработки Eclipse

Нам нужно указать среде разработки Eclipse использовать JDK 8, а также задать путь к приложению Scene Builder:

Откройте настройки среды разработки Eclipse и перейдите к пункту Java | Installed JREs.

Нажмите Add…, выберите Standart VM и укажите путь к установленной JDK 8.

Уберите другие добавленные JDK и 8-я JDK будет использоваться по умолчанию.

Перейдите к пункту Java | Compiler. Установите значение настройки Compiler compliance level в 1.8.

Перейдите к пункту JavaFX и укажите путь к исполняемому файлу приложения Scene Builder.

Полезные ссылки

Возможно, вы захотите добавить закладки на следующие ссылки:

  • Java 8 API — документация по стандартным классам Java;
  • JavaFX 8 API — документация по классам JavaFX;
  • ControlsFX API — документация по дополнительным элементам JavaFX из проекта ControlsFX;
  • Oracle’s JavaFX Tutorials — официальный учебник по JavaFX от Oracle.

Ну что же, давайте приступим к изучению!

Создание нового проекта JavaFX

В приложение Eclipse (с уже установленным e(fx)clipse) в меню выберите пункт File | New | Other…, и затем выберите JavaFX Project.
Укажите имя проекта (наше будет называться AddressApp) и нажмите Finish.

Если Eclipse автоматически создало какие-то начальные файлы и пакеты, то удалите их.

Создание структуры пакетов

С самого начала мы будем следовать хорошим принципам проектирования ПО. Один из них — это шаблон проектирования Модель-Представление-Контроллер (MVC). Опираясь на этот шаблон мы разобьём код нашего приложения на три части и создадим для каждой из них свой пакет (правый клик на папке src, New… | Package):

  • ch.makery.address — содержит большинство классов-контроллеров (Controller) (= классов бизнес логики);
  • ch.makery.address.model — содержит классы Моделей (Model);
  • ch.makery.address.view — содержит Представления (View).
Читайте также:  Zyxel keenetic giga iii настройка dhcp

Заметка: Внутри пакета view также будут лежать некоторые классы-контроллеры, которые непосредственно связаны с конкретными представлениями. Давайте называть их контроллеры-представлений (view-controllers).

Создание файла разметки FXML

Есть два пути создания пользовательского интерфейса: либо использовать файл разметки FXML, либо программировать всё на Java. В большинстве своём мы будем использовать XML (.fxml). Я считаю, что этот способ больше подходит для отделения контроллеров от представлений. В дальнейшем мы сможем использовать Scene Builder для визуального редактирования наших XML-файлов. А это значит, что мы не будем напрямую работать с XML.

Кликните на пакете view правой кнопкой мышки и создайте новый документ FXML с названием PersonOverview .

Проектировка визуального интерфейса в Scene Builder

Откройте только что созданный fxml-документ в приложении Scene Builder — клик правой кнопкой мышки по файлу PersonOverview.fxml , Open with SceneBuilder. На вкладке Hierarchy должен находиться единственный компонент AnchorPane.

(Если Scene Builder не запустился, то открываем пункт меню Window | Preferences | JavaFX и настраиваем верный путь к исполняемому файлу установленного приложения Scene Builder).

На вкладке Hierarchy выберите компонент AnchorPane, и справа, на вкладке Layout установите значение характеристикам Pref Width и Pref Height — 600 и 300 соответственно.

На вкладке Hierarchy в компонент AnchorPane добавьте новый компонент SplitPane (horizontal). Кликните по нему правой кнопкой мыши и выберите Fit to Parent.

Теперь, в левую часть компонента SplitPane со вкладки Controls перетащите компонент TableView. Выделите его целиком (а не отдельный столбец) и проставьте отступы от краёв так, как показано на рисунке. Внутри компонента AnchorPane всегда можно проставить отступы от четырёх границ рамки (дополнительная информация о разметках).

Чтобы увидеть, правильно ли отображается созданное окно, выполните пункт меню Preview | Show Preview in Window. Попробуйте поменять размер окна. Добавленная таблица должна изменятся вместе с окном, так как она прикреплена к границам окна.

В таблице измените заголовки колонок (вкладка Properties компонента TableColumn) на “First Name” и “Last Name”.

Выберите компонент TableView и во вкладке Properties измените значение Column Resize Policy на constrained-resize. Выбор этой характеристики гарантирует, что колонки таблицы всегда будут занимать всё доступное пространство.

В правую часть компонента SplitPane перетащите компонент Label и измените его текст на “Person Details” (подсказка: используйте поиск для скорейшего нахождения компонентов). Используя привязки к границам (вкладка Layout) скорректируйте его положение.

На правую панель SplitPane добавьте компонент GridPane и так же настройте привязки к границам, как показано на рисунке.

Приведите своё окно в соответствие с тем, что показано на рисунке, добавляя компоненты Label внутрь ячеек компонента GridPane.
Примечание: для того, чтобы добавить новый ряд в компонент GridPane, выберите существующий номер ряда (он окрасится жёлтым), кликните правой кнопкой мышки на номере ряда и выберите пункт “Add Row Above” или “Add Row Below”.

Внизу добавьте ButtonBar, а в него три кнопки Button. Теперь установите привязки к границам (правой и нижней), чтобы ButtonBar всегда находилась справа.

Читайте также:  Настройка аима в war thunder aimjunkies

Так как панель ButtonBar доступна только с JavaFX 8, и её поддержка в Scene Builder на данный момент несколько хромает, то имеется альтернативный способ. Добавьте три компонента Button в правую часть так, как показано на предыдущем рисунке. Выделите их всех вместе (Shift + клик), кликните по ним правой кнопкой мышки и выберите пункт Wrap In | HBox. Это действие их сгруппирует. Вы можете задать расстояние (Spacing) между компонентами во вкладке Properties компонента HBox. Также установите привязки к границам (правой и нижней).

  1. Если всё сделано правильно, то у нас должно получится что-то похожее на рисунок ниже. Используйте пункт меню Preview, чтобы протестировать созданное окно и его реакцию на изменение размеров.

Создание основного приложения

Нам необходимо создать ещё один файл fxml-разметки, в котором будет компонент полосы меню. Этот файл будет служить обёрткой для только что созданного PersonOverview.fxml .

В пакете view создайте другой fxml-документ, и назовите его RootLayout.fxml . На этот раз в качестве корневого элемента выберите BorderPane.

Откройте файл RootLayout.fxml в приложении Scene Builder.

Установите предпочитаемое значение ширины и высоты компонента: 600 и 400 соответственно.

В верхний слот компонента BorderPane добавьте компонент MenuBar. Функциональность меню мы будем реализовывать в последующих уроках.

Основной класс приложения JavaFX

Теперь нам надо создать основной класс Java, который будет запускать наше приложение с RootLayout.fxml и добавлять в его центральную область PersonOverview.fxml .

Кликните правой кнопкой мыши по нашему проекту, перейдите к пункту New | Other… и выберите JavaFX Main Class.

Назовите класс MainApp и поместите его в пакет ch.makery.address (примечание: это пакет является родительским для view и model ).

Созданный класс MainApp.java расширяет класс Application и содержит два метода. Это базовая структура, которая необходима для запуска приложения JavaFX. Нам интересен метод start(Stage primaryStage) . Он автоматически вызывается при вызове метода launch(. ) из метода main .

Как можно заметить, метод start(. ) в качестве параметра принимает экземпляр класса Stage . На следующем рисунке представлена структура любого приложения JavaFX:

Источник изображения: http://www.oracle.com/

Это как театральное представление Stage (театральные подмостки) является основным контейнером, который, как правило, представляет собой обрамлённое окно со стандартными кнопками: закрыть, свернуть, развернуть. Внутрь Stage добавляется сцена Scene , которая может быть заменена другой Scene . Внутрь Scene добавляются стандартные компоненты типа AnchorPane , TextBox и другие.

Для получения более детальной информации о такой компоновке обратитесь к этому руководству: Working with the JavaFX Scene Graph.

Откройте класс MainApp.java и замените его содержимое на это:

Комментарии могут служить подсказками того, что и как делается.

Запустив приложение мы должны увидеть что-то похожее на то, что изображено на рисунке в начале этой статьи.

Часто встречающиеся проблемы

Если JavaFX не может найти указанный fxml -файл, то вы получите следующее сообщение об ошибке:

java.lang.IllegalStateException: Location is not set.

Для решения этой проблемы внимательно проверьте правильность указания пути к файлам fxml и правильность написания его названия.

Что дальше?

Во 2-й части учебника мы добавим в наше приложение некоторые данные и функциональность.

Источник

Adblock
detector