[[oktatas:programozás:java:java_fx|< Java FX]] ====== Java FX Visual Studio Code - Maven ====== * **Szerző:** Sallai András * Copyright (c) 2023, Sallai András * Szerkesztve: 2024 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|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] {{:oktatas:programozas:java:java_fx:project_created.png|}} 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: * 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.linux": { "JAVA_HOME": "/usr/lib/jvm/java-17-openjdk-amd64" }, "terminal.integrated.env.windows": { "JAVA_HOME": "c:/Program Files/Java/jdk-17" },