Javafx ajoutant ActionListener à bouton
button.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent e) {
label.setText("Accepted");
}
});
Dans le code ci-dessus, nous définissons ce qui va se passer lorsque l'on presse le bouton. C'est du tout bon, mais j'ai envie de créer de nouveaux ActionListener, puis l'ajouter à mon bouton.
Normalement dans JButton je peux juste ajouter ActionListener comme ceci:
button.addActionListener(someControllerClass.createButtonListener());
Dans le code ci-dessus createButtonListener() renvoie ActionListener.
Ma question est: Quel est l'équivalent de JButton addActionListener ?
OriginalL'auteur MertG | 2016-11-23
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez par exemple réutiliser un
EventHandler
, de la définir comme décrit dans JavaFX Documentation:Vous pouvez maintenant ajouter vos défini
buttonHandler
à laonAction
de votre bouton via:Et citant à partir de la documentation fournissant l'option supprimer l'exhaustivité:
Résultant pour vous:
La documentation en outre fournit quelques exemples comment ajouter un gestionnaire d'événements spécifiques - c'est une bonne lecture.
Comme vous êtes semblant provenir de Swing (votre JButton déclaration) vous avez pour garder la terminologie au sens de votre framework d'INTERFACE. EDIT: jetez un oeil à stackoverflow.com/a/29785487/2061026
Ouais je viens de regarder pour les gestionnaires d'événements et de son un peu différent, mais j'ai résolu mon problème merci pour votre aide.
Pas de soucis @MertG de commutation de l'INTERFACE utilisateur prend un certain temps. Surtout si vous êtes en permanence le mélange de Swing, JavaFX, WPF et ainsi de suite.
OriginalL'auteur SSchuette
Je pense que c'est comment je dois faire. Création du gestionnaire d'événements:
L'ajout du Gestionnaire de bouton:
Dans votre réponse, vous pouvez avoir un seul gestionnaire d'événement à la fois . Les OP peuvent avoir besoin de plus d'actions à feu de sorte qu'il a besoin de plusieurs d'action des gestionnaires.
Yep, plein ack @GoXR3Plus mais c'est pourquoi demande - le scénario décrit semblait être "ok" avec le seul gestionnaire.
Je viens de poster une réponse à ma propre question accourding à votre suggestion @SSchuette. Il fonctionne à la perfection.
Il ne ferait aucun sens de créer plusieurs instances d'un même Gestionnaire d'événements par une méthode de ce genre. Faire comme montré dans l'autre réponse.
OriginalL'auteur MertG