Если вам нужен какой-либо графический интерфейс
для вашего настольного Java-приложения, вы можете использовать scene builder
из Gluon для перетаскивания элементов управления, а затем экспортировать их в .fxml
файл, который вы можете загрузить с помощью JavaFX
. В этом примере мы используем Java 11 и maven.
Вы можете найти код для этого примера здесь Пример JavaFX .
Вам просто нужны эти зависимости в вашем проекте pom:
org.openjfx javafx-controls 15.0.1 org.openjfx javafx-fxml 11.0.1
Вам также нужно будет добавить этот плагин:
org.openjfx javafx-maven-plugin 0.0.5 dev.jsedano.example.App
Где dev.sedano.example. App
– это место, где у вас есть ваш основной класс. Затем вы можете загрузить сцену следующим образом:
package dev.jsedano.example; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; import java.io.File; public class App extends Application { public static void main( String[] args ){ launch(); } @Override public void start(Stage stage) throws Exception { File f = new File("src/main/resources/exampleui.fxml"); Parent root = FXMLLoader.load(f.toURI().toURL()); stage.setScene(new Scene(root)); stage.show(); } }
В этом примере наш файл fxml
называется example ui.fxml
В этом-то все и дело.
Но как насчет фактического создания файла xml
, загрузки и установки Глюонный конструктор сцен . В этом примере мы начнем с Базового приложения
:
Мы перетащим кнопку
и метку
. Выберите кнопку и мы изменим текст на
Press me!
на вкладке Свойства
и на вкладке Код
мы установим При Действии
чтобы была Нажата кнопка
:
Для label
мы удалим текст и установим fx:id
в my Label
.
Теперь нам нужно определить controller
. На левой панели найдите Документ
и Controller
и установите Controller class
на то, как будет называться ваш контроллер, в этом примере мы будем использовать dev.jsedano.example. Контроллер пользовательского интерфейса
(это полное имя класса).
И затем мы можем сохранить сгенерированный xml
непосредственно в папку нашего проекта resources
, в этом примере мы сохраняем в src/main/resources/exampleui.fxml
Теперь создайте контроллер в проекте
package dev.jsedano.example; import javafx.fxml.FXML; import javafx.scene.control.Label; public class UIController { @FXML private Label myLabel; @FXML private void buttonWasPressed(){ myLabel.setText("button was pressed"); } }
Мы запускаем проект с помощью mvn clean javafx:run
И если бы все было правильно, мы должны были бы видеть это, когда нажимаем кнопку:
С этого момента вы можете создавать все, что вам нужно, для получения документации по JavaFX посетите https://openjfx.io . Загрузите полный код из этого примера здесь Пример JavaFX .
Оригинал: “https://dev.to/jsedano/easy-java-desktop-ui-with-javafx-and-gluon-scene-builder-4982”