javafx
Bouton
Recherche…
Ajouter un écouteur d'action
Les boutons déclenchent des événements d'action lorsqu'ils sont activés (par exemple, cliqué, une reliure du bouton est pressée, ...).
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
Si vous utilisez Java 8+, vous pouvez utiliser lambdas pour les auditeurs d'action.
button.setOnAction((ActionEvent a) -> System.out.println("Hello, World!"));
// or
button.setOnAction(a -> System.out.println("Hello, World!"));
Ajouter un graphique à un bouton
Les boutons peuvent avoir un graphique. graphic peut être n'importe quel noeud JavaFX, comme un ProgressBar
button.setGraphic(new ProgressBar(-1));
Une ImageView
button.setGraphic(new ImageView("images/icon.png"));
Ou même un autre bouton
button.setGraphic(new Button("Nested button"));
Créer un bouton
La création d'un Button est simple:
Button sampleButton = new Button();
Cela créera un nouveau Button sans texte ni graphique à l'intérieur.
Si vous souhaitez créer un Button avec un texte, utilisez simplement le constructeur qui prend un paramètre String comme paramètre (ce qui définit la textProperty du Button ):
Button sampleButton = new Button("Click Me!");
Si vous souhaitez créer un Button avec un graphique à l'intérieur ou tout autre Node , utilisez ce constructeur:
Button sampleButton = new Button("I have an icon", new ImageView(new Image("icon.png")));
Boutons par défaut et Annuler
Button API de Button permet d'attribuer facilement des raccourcis clavier communs aux boutons sans avoir besoin d'accéder à la liste des accélérateurs affectée à Scene ou d'écouter explicitement les événements clés. À savoir, deux méthodes de commodité sont fournies: setDefaultButton et setCancelButton :
setDefaultButtonvoussetDefaultButtonsurtrue, leButtonse déclenche chaque fois qu'il reçoit un événementKeyCode.ENTER.setCancelButtonvoussetCancelButtonsurtrue, leButtonse déclenche chaque fois qu'il reçoit un événementKeyCode.ESCAPE.
L'exemple suivant crée une Scene avec deux boutons activés lorsque vous appuyez sur les touches Entrée ou Echap, qu'elles soient ou non mises au point.
FlowPane root = new FlowPane();
Button okButton = new Button("OK");
okButton.setDefaultButton(true);
okButton.setOnAction(e -> {
System.out.println("OK clicked.");
});
Button cancelButton = new Button("Cancel");
cancelButton.setCancelButton(true);
cancelButton.setOnAction(e -> {
System.out.println("Cancel clicked.");
});
root.getChildren().addAll(okButton, cancelButton);
Scene scene = new Scene(root);
Le code ci-dessus ne fonctionnera pas si ces éléments KeyEvents sont utilisés par un Node parent:
scene.setOnKeyPressed(e -> {
e.consume();
});