Kihagyás

Grafikus alkalmazások JavaFX-szel

A következőkben az eddig tanultakat kiegészítve, már nem csak konzolos alkalmazásokat, hanem grafikus programokat is fogunk készíteni.

Bevezetés

A JavaFX a Java programozási nyelvhez fejlesztett grafikus keretrendszer, amelyet a Java SE 8 részeként adtak ki. A JavaFX a Java Swing utódja, de a JavaFX-et nem csak a Swinggel, hanem a Java 2D API-val és a JavaFX Scripttel is összehasonlítják.

Telepítés

Az IntelliJ IDEA-ban a JavaFX-et nem kell külön telepíteni, mert a JavaFX SDK része a JDK 11-nek. A JavaFX SDK-ban található a JavaFX Runtime, a JavaFX könyvtárak és a JavaFX-eszközök. A JavaFX-eszközök közé tartozik a Scene Builder, amely egy grafikus felületet biztosít a JavaFX alkalmazások felhasználói felületének megtervezéséhez.

JavaFX projekt létrehozása

A JavaFX projekt létrehozása a következőképpen történik:

  1. Indítsuk el az IntelliJ IDEA-t.
  2. Kattintsunk az New Project gombra.
  3. Bal oldalt állítsuk be a Generators-nél a JavaFX-et. Új projekt
  4. Kattintsunk a Next gombra.
  5. Kattinsunk a Create gombra.

Futtatás

Az elkészült JavaFX projektet a HelloApplication.java futtatásával tudjuk kipróbálni, amely tartalmazni fog egy alap UI-t, amely a következőképpen néz ki:

HelloApplication

Felépítés

Mint a lenti ábrán is látható, egy JavaFX alkalmazás három részből épül fel.

  1. A programnak van egy belépési pontja, amely a HelloApplication.java fájlban található.
  2. A programnak van egy vezérlője, amely a HelloController.java fájlban található. Ez a vezérlő fogja kezelni a felhasználói felületen történő eseményeket, például a gomb megnyomását.
  3. A programnak van egy felhasználói felülete, amely a hello-view.fxml fájlban található. Ez a felhasználói felület fogja megjeleníteni a program állapotát.
flowchart TD
    A[HelloApplication]
    B(HelloController)
    C(hello-view.fxml)
    A --> B & C
    B <--> C

Mappastruktúra

A konkrét Java kódokat tartalmazó fájlok a src/main/java mappában találhatóak, míg JavaFX-hez tartozó fájlok a src/main/resources mappában találhatóak. Ennek az az oka, hogy a JavaFX-hez tartozó fájlok nem tartalmaznak Java kódot, hanem XML-hez hasonló nyelven írtak, amelyek a felhasználói felületet írják le.

demo
├── .mvn
   └── wrapper
       ├── maven-wrapper.jar
       ├── maven-wrapper.properties
       └── MavenWrapperDownloader.java
├── src
   ├── main
      ├── java
         └── com.example.demo
             ├── HelloApplication.java
             └── HelloController.java
      └── resources
          └── com.example.demo
              └── hello-view.fxml
   └── test
       └── (...)
├── .gitignore
├── mvnw
├── mvnw.cmd
└── pom.xml