< Java FX

Java FX Visual Studio Code - Maven

Szerző: Sallai András

Copyright © 2023, Sallai András

Szerkesztve: 2024

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

VSCode beállítása

Bővítmény:

SceneBuilder extension for Visual Studio Code

Publisher: Bilal Ekrem Harmansa

A bővítmény beállítása:

F1

Kezdjük el gépelni: Scene Builder

Tallózzuk ki a Scene Builder helyét

Például: c:\Users\User\AppData\Local\SceneBuilder\

Projekt létrehozása

F1

Java: Create Java Project…

JavaFX create from archetype

Input group Id of your project: lan.zold

Input artifact Id: app01

[Select Destination Folder]

Terminálban:

Define value for property 'version' 1.0-SNAPSHOT: :

Elég egy Enter vagy javítjuk a verziót.

Utána kéri a megerősítést:

Y: :

Enter-rel tovább megyünk.

Jobbra lent egy párbeszédablakban:

(i) Maven project [app01] is created under:
/home/janos/dev/app01
Source: Maven for Java (Extendsion) [Open] [Add to Workspace]

Kattintsunk az Ok gombra.

Az eredeti ablakot bezárhatjuk.

Nyissuk meg a projektet.

Függőségek lekérdezése

mvn dependency:tree

Könyvtárszerkezet

app01/
|-src/main/
| |-java/
| | |-lan/zold/
| | | |-App.java
| | | |-PrimaryController.java
| | | `-SecondaryController.java
| | `-module-info.java
| `-resources/lan/zold/
| |-primary.fxml
| `-secondary.fxml
|-target/
`-pom.xml

Futtatás

Az App.java fájlban a Run segítégével.

Ha van mvn parancs, parancssorból:

mvn clean javafx:run

Lehetséges hibák

Stage figyelmeztetés

A program így is fut, de a start() metódus Stage bemenő típusára hibát ír. Ennek megoldása:

Vegyük fel egy újabb függőséget a module-info.java fájlban:

requires transitive javafx.graphics;
module com.example { requires transitive javafx.graphics; //<-- requires javafx.controls; requires javafx.fxml; opens com.example to javafx.fxml; exports com.example; }

JAVA_HOME változó

Hibaüzenet:

he JAVA_HOME environment variable is not defined correctly,
this environment variable is needed to run this program.

Szerkesszük a beállításokat. Windows esetén:

c:\Users\User\AppData\Roaming\Code\User\settings.json

A JAVA_HOME helytelen beállítása esetén, állítsunk be a rendes útvonalat:

{ "terminal.integrated.env.windows": { "JAVA_HOME": "c:/Program Files/Java/jdk-17" } }

Linuxon:

{ "terminal.integrated.env.linux": { "JAVA_HOME": "/usr/lib/jvm/java-17-openjdk-amd64" } }