Como usar expressões lambda para lidar com eventos em java

Video: Fazendo uma janela de JFrame simples com um botão realizando evento

Em Java, você pode usar expressões lambda para simplificar classes que implementam interfaces que têm apenas um método - ou seja, interfaces que se qualificam como interfaces funcionais. o ActionListener interface é como uma interface: Tem apenas um método, chamado Ação executada.

Quando você usa uma expressão Lambda, você não tem que implementar explicitamente o ActionListener interface. Em vez disso, você pode usar um código como o seguinte para adicionar um ouvinte de evento:

button1.addActionListener (e -gt; Button1Click ()) -

Em seguida, o método Button1Click será chamado sempre que o usuário clica button1.

Confira esta versão do ClickMe programa que usa uma expressão lambda para manipular o evento clique de botão.

import javax.swing. * -. importação java.awt.event * - ClickMeLambdaextends classe pública JFrame {void main (String [] args) public static {nova ClickMeLambda () -} private JButton button1-pública ClickMeLambda () {this.setSize (300,150) -this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) -this.setTitle ("Estou ouvindo") -JPanel panel1 = new JPanel () - button1 = new JButton ("Clique-me!") -button1.addActionListener (e -gt; Button1Click ()) -panel1.add (button1) -this.add (painel 1) -this.setVisible (true) -} private int clickCount = 0-public void Button1Click () {clickCount ++ -se (== clickCount 1) button1.setText ("Eu tenho clicado!") -elsebutton1.setText ("Eu tenho clicado "+ + ClickCount " vezes!") -}}

Confira os recursos diretamente relacionados ao uso da expressão Lambda:

 button1.addActionListener (e -gt; Button1Click ()) -


Esta declaração usa uma expressão Lambda para adicionar um ouvinte de ação para lidar com cliques de botão. A expressão Lambda simplesmente chama o método Button1Click sempre que o usuário clica no botão.

Video: Aula 4 - Tratamento de eventos (Clique do Botão)

 private int clickCount = 0-

o clickCount variável é declarada como um campo de classe.

Video: 077 Java nivel basico Adicionar um evento a um botao com addActionListener

 Button1Click public void ()

o Button1Click método é chamado sempre que o usuário clica no botão. Este método altera o texto que é exibido na etiqueta do botão.

Note que você poderia ter eliminado o Button1Click método completamente e, em vez incluído seu código diretamente na expressão Lambda, como este:

 button1.addActionListener (e -gt; {clickCount ++ - se (clickCount == 1) button1.setText ("Eu tenho clicado!") -elsebutton1.setText ("Eu tenho clicado "+ + ClickCount " vezes!") -}) -

No entanto, este tipo de codificação pode rapidamente se tornar inviável. Assim, como regra, incluem o trabalho real feito por um manipulador de eventos em um método separado que é chamado via uma expressão Lambda quando o manipulador de eventos está configurado.


Publicações relacionadas