Como usar expressões lambda para lidar com eventos em java
Video: Fazendo uma janela de JFrame simples com um botão realizando evento
Conteúdo
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.