FXML¶
Az FXML a JavaFX keretrendszer része, amely a Java nyelv grafikus felhasználói felületeinek (GUI) fejlesztéséhez használható. Az FXML egy XML-alapú nyelv, amely lehetővé teszi a felhasználói felület szerkezetének és elrendezésének meghatározását egy elkülönített, deklaratív módon. Ez segít elkülöníteni a felület megjelenítését a program logikájától, ami tisztább és karbantarthatóbb kódot eredményez.
- Elemek és Komponensek: Az FXML-ben definiálható elemek magukban foglalják a különféle vezérlőket, mint például gombokat, szövegmezőket, címkéket, táblázatokat és egyéb UI komponenseket.
- Elrendezések: Az FXML támogatja a különféle elrendezési stratégiákat, mint például a VBox (függőleges elrendezés), HBox (vízszintes elrendezés), GridPane (rács elrendezés) és továbbiak.
- Stílusok és CSS: Az FXML-ben definiált elemek stílusát CSS segítségével lehet meghatározni, ami még nagyobb rugalmasságot biztosít a felület kinézetében.
- Eseménykezelés: Az FXML lehetővé teszi eseménykezelők hozzárendelését a felületi elemekhez, ami a felhasználói interakciókat kezeli.
- Adatkötés (Data Binding): Az FXML támogatja az adatkötést, ami lehetővé teszi az adatok automatikus szinkronizálását a felületi elemek és az alkalmazás adatmodellje között.
Az FXML használata segít a kód rendezettebb és karbantarthatóbb struktúrájában, mivel a felületi elemek definiálása különválik a Java kód logikai részétől. Ez különösen nagy projektjekeben és csapatmunkában jelent előnyt.
Példa
A bevezetés anyagrészben tárgyalt UI kinézete a következőképpen definiálható FXML-ben:
Label¶
A Label egy szöveges információt megjelenítő felhasználói felületi elem.
Properties¶
fx:id
: Az elem egyedi azonosítója. A controller osztályban ezen keresztül érhető el az elem.text
: A megjelenítendő szöveg.font
: A szöveg betűtípusa.textAlignment
: A szöveg igazítása.wrapText
: Szövegtörés beállítása.
Button¶
A Button egy olyan felhasználói felületi elem, amelyet általában akkor használnak, amikor a felhasználó valamilyen műveletet szeretne végrehajtani.
Properties¶
fx:id
: Az elem egyedi azonosítója. A controller osztályban ezen keresztül érhető el az elem.text
: A megjelenítendő szöveg.onAction
: Az eseménykezelő metódus neve.
TextField¶
A TextField egy egy soros szövegbeviteli mező, amelyet általában rövid, egysoros adatok, mint például felhasználónév vagy jelszó beírására használnak.
Megjegyzés
C# programozási nyelvben a TextBox
néven ismert.
Properties¶
text
: A TextField-ben megjelenő szöveg. Programozottan beállítható és lekérdezhető.promptText
: A felhasználónak mutatott szürke szöveg, amikor a TextField üres. Segít a felhasználónak megérteni, milyen típusú adatot kell beírnia.editable
: Meghatározza, hogy a felhasználó szerkesztheti-e a szöveget. Ha false, a szöveg csak olvasható.prefWidth
,minWidth
,maxWidth
: A TextField szélességének preferált, minimális és maximális méretei.prefHeight
,minHeight
,maxHeight
: A TextField magasságának preferált, minimális és maximális méretei.maxLength
: A beírható maximális karakterek számát korlátozza.alignment
: A szöveg igazítását szabályozza a TextField-ben (balra, középre, jobbra).font
: A megjelenített szöveg betűtípusát állítja be.disabled
: Ha true, a TextField nem használható (inaktív).opacity
: A TextField átlátszóságát szabályozza.style
: Inline CSS stílusokat lehet megadni a TextField kinézetének testreszabására.onAction
: Egy eseménykezelő, amely akkor hajtódik végre, amikor a felhasználó megnyomja az Enter billentyűt a TextField-ben.focusedProperty
: Jelzi, hogy a TextField éppen fókuszban van-e.textProperty
: Egy StringProperty, amely lehetővé teszi a szöveg követését és változásának figyelését.
ListView¶
A ListView egy olyan felhasználói felületi elem, amely egy listát jelenít meg. A ListView a listaelemeket egy ObservableList-ben tárolja, amelyet a ListView-hoz lehet kötni.
Megjegyzés
C# programozási nyelvben a ListBox
néven ismert.
Properties¶
items
: A ListView által megjelenített elemek listája. Ez egy ObservableList típusú, amely lehetővé teszi a dinamikus frissítést.selectionModel
: Kezeli a ListView elemeinek kiválasztását. A SelectionModel segítségével beállítható, hogy egyszerre egy vagy több elem legyen kiválasztható.placeholder
: Egy olyan node (csomópont), amely akkor jelenik meg, amikor a ListView-nak nincsenek megjeleníthető elemei.editable
: Meghatározza, hogy a ListView szerkeszthető-e. Ha true, az egyes elemek szerkeszthetők lehetnek.orientation
: Meghatározza, hogy a lista elemek vízszintesen vagy függőlegesen jelenjenek meg. Lehet HORIZONTAL vagy VERTICAL.cellFactory
: Egy olyan factory, amely lehetővé teszi a lista egyedi celláinak testreszabását. Segítségével meghatározható, hogy hogyan jelenjenek meg az adott elemek a listában.fixedCellSize
: Beállítható egy fix cellaméret. Ha ez nem nulla, minden cella ebben a méretben jelenik meg, ami javíthatja a teljesítményt nagy listák esetén.focusModel
: Kezeli a fókusz állapotát a ListView-ben. Segítségével megadható, melyik elem legyen fókuszban.prefSize
,minWidth
,minHeight
,maxWidth
,maxHeight
: Ezek a tulajdonságok a ListView méretének beállítását teszik lehetővé, meghatározva a preferált, - minimális és maxListBoximális szélességet és magasságot.onEditCommit
,onEditCancel
,onEditStart
: Eseménykezelők, amelyek a szerkesztési eseményekre (commit, cancel, start) reagálnak.
TableView¶
A TableView egy táblázatot megjelenítő felhasználói felületi elem. A TableView oszlopokból és sorokból áll, amelyeket celláknak nevezünk. A TableView a táblázat adatait egy ObservableList-ben tárolja, amelyet a TableView oszlopaihoz lehet kötni.
Megjegyzés
C# programozási nyelvben a DataGridView
néven ismert.
<TableView fx:id="myTableView">
<columns>
<TableColumn text="Név" prefWidth="100">
<cellValueFactory>
<PropertyValueFactory property="name"/>
</cellValueFactory>
</TableColumn>
<TableColumn text="Életkor" prefWidth="100">
<cellValueFactory>
<PropertyValueFactory property="age"/>
</cellValueFactory>
</TableColumn>
</columns>
</TableView>
Properties¶
fx:id
: Az elem egyedi azonosítója. A controller osztályban ezen keresztül érhető el az elem.columns
: A táblázat oszlopait tartalmazó lista.items
: A táblázat sorait tartalmazó lista.editable
: Meghatározza, hogy a felhasználó szerkesztheti-e a táblázatot. Ha false, a táblázat csak olvasható.prefWidth
,minWidth
,maxWidth
: A táblázat szélességének preferált, minimális és maximális méretei.prefHeight
,minHeight
,maxHeight
: A táblázat magasságának preferált, minimális és maximális méretei.selectionModel
: A kijelölt sorokat tartalmazó lista.style
: Inline CSS stílusokat lehet megadni a táblázat kinézetének testreszabására.