Рубрики
Без рубрики

Простой пользовательский интерфейс рабочего стола Java с JavaFX и gluon scene builder

Если вам нужен какой-либо графический интерфейс для вашего настольного Java-приложения, вы можете использовать конструктор сцен от Gluon до dr… Помеченный java, javafx, gluon.

Если вам нужен какой-либо графический интерфейс для вашего настольного 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”