Comment utiliser les expressions lambda pour gérer les événements en java

En Java, vous pouvez utiliser des expressions lambda pour simplifier les classes qui implémentent des interfaces qui ont juste une méthode - qui est, les interfaces qui se qualifient comme interfaces fonctionnelles. La ActionListener l'interface est d'une telle interface: Il a juste une méthode, nommée ActionPerformed.

Lorsque vous utilisez une expression lambda, vous ne devez pas mettre en œuvre explicitement le ActionListener interface. Au lieu de cela, vous pouvez utiliser un code tel que le suivant pour ajouter un écouteur d'événement:

button1.addActionListener (e -> Button1Click ()) -

Ensuite, le procédé Button1Click sera appelée quand l'utilisateur clique button1.

Découvrez cette version de la ClickMe programme qui utilise une expression lambda pour gérer l'événement de clic de bouton.




importation javax.swing * -.. java.awt.event d'importation * - ClickMeLambdaextends public class JFrame {static void main (String [] args) {publiques nouvelle ClickMeLambda () -} JButton privée button1 public ClickMeLambda(){this.setSize(300,150)-this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)-this.setTitle("I'm Ecoute ") - JPanel panel1 = new JPanel () - button1 = new JButton (" Cliquez-moi! ") - Button1.addActionListener (e -> Button1Click ()) -panel1.add (button1) -this.add (panel1) - this.setVisible (true) -} private int clickCount = 0-public void Button1Click () {clickCount ++ - si (clickCount == 1) button1.setText («Je l'ai cliqué!") - elsebutton1.setText («Je ve été cliqué "+ clickCount +" fois ") -!}}

Découvrez les fonctions directement liées à l'utilisation de l'expression lambda:

 button1.addActionListener (e -> Button1Click ()) -

Cette déclaration utilise une expression lambda pour ajouter un écouteur d'action pour gérer les clics de bouton. L'expression Lambda appelle simplement la méthode Button1Click lorsque l'utilisateur clique sur le bouton.

 private int clickCount = 0-

La clickCount variable est déclarée comme un champ de classe.

 Button1Click public void ()

La Button1Click méthode est appelée lorsque l'utilisateur clique sur le bouton. Cette méthode modifie le texte qui est affiché sur l'étiquette de la touche.

Notez que vous pourriez avoir éliminé le Button1Click méthode tout à fait, et à la place inclus son code directement dans l'expression lambda, comme ceci:

 button1.addActionListener (e -> {clickCount ++ - si (clickCount == 1) button1.setText («Je l'ai cliqué!") - elsebutton1.setText ("je l'ai été cliqué" + clickCount + "fois!") -}) -

Cependant, ce type de codage peut rapidement devenir difficile à manier. Donc, en règle générale, inclure le travail réel effectué par un gestionnaire d'événement dans une méthode distincte qui est appelé via une expression lambda lorsque le gestionnaire d'événement est mis en place.


» » » » Comment utiliser les expressions lambda pour gérer les événements en java