2017-10-06 4 views
-2

J'ai déjà construit une interface avec des étiquettes, des boutons et des champs de texte. Je veux au moins gérer un événement sur un bouton qui va imprimer une chaîne ou une phrase à la console. Je ne sais pas comment utiliser le gestionnaire d'événements, n'importe quel morceau de code pertinent aidera. Je commence juste java. s'il vous plaît aider ...Gestion des événements javafx

+3

Essayez cette ici: https://stackoverflow.com/questions/30446996/javafx-begginers-simple-calculator-event-handling?rq=1. Si cela ne vous aide pas, je vous conseille de lire quelques tutoriels d'oracle sur la gestion des événements dans javafx. –

+0

Lorsque vous postez une question, faites une pratique pour inclure ce que vous avez fait jusqu'à présent sur ce sujet. SO n'est pas un endroit où vous obtiendrez une solution complète. –

Répondre

0

Afin de répondre à cliquer sur un bouton vous devez attacher un écouteur d'événement à l'objet bouton

button.setOnAction(new EventHandler() { 
    @Override 
    public void handle(ActionEvent actionEvent) { 
     //... do something in here. 
    } 
}); 

Pour plus vous visitez ces liens que j'espère que vous trouverez votre solution http://tutorials.jenkov.com/javafx/button.html#button-events et ce http://tutorials.jenkov.com/java/lambda-expressions.html

+0

merci .Ceci était très utile –

0

Depuis vous venez de commencer votre aventure avec JavaFX vous tomberez probablement sur ce que Raheel a écrit dans une autre forme, à savoir, une expression lambda. Le même extrait de code serait alors ressembler à ceci:

button.setOnAction((event) -> { 
//... do sth here 
}); 
+0

N'est-ce pas censé remplacer une méthode existante? Je ne peux pas voir la méthode handle() void publique étant surchargée !! Peut-être que vous pouvez élaborer .. –

+0

Raheel utilise l'interface EventHandler qui a une méthode https://docs.oracle.com/javase/8/javafx/api/javafx/event/EventHandler.html Pour l'utiliser, il doit remplacer il. Il n'y a pas de limite à la méthode qui va être utilisée comme gestionnaire. Vous pouvez aussi créer votre propre eventHandlerMethod et l'utiliser comme suit: button.SetOnAction (this :: eventHandlerMethod) – gourmej

+0

Oh génial. Laisse moi essayer ça aussi .. –