Diskuze: FXML KeyEvent
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
Každý ovládací prvek v JavaFX je potomek třídy Node, který má možnost
nastavit různé listenery. Takže pokud chceš KeyListener ve FXML, tak na
místě, kde definuješ ovládací prvek (TextField, ListView...) napíšeš
onKeyPressed="". Raději to ukážu na příkladu:
<VBox prefHeight="400.0" prefWidth="600.0"
xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="nazevTridyKontroleru">
<!--Tady definuji TextFiel a k němu keyListener-->
<TextField onKeyPressed="nazevMetodyVKontroleruKteraReagujeNaStiskKlavesy"/>
</VBox>
Druhá možnost je definovat KeyListener pomocí API. Vytvoříš instanci daného ovládacího prvku a pomocí metody setOnKeyPressed() nastavíš, co se má stát při stisku klávesy. Opět příklad:
TextField textField = new TextField();
textField.setOnKeyPressed(event -> System.out.println(event.getCode()));
Snad jsem Ti pomohl.
Zobrazeno 3 zpráv z 3.