Manipulação de eventos em Java: o que é isso e como funciona?

Publicados: 2020-03-21

Qualquer programa que seja interface gráfica do usuário ou baseado em GUI, incluindo aplicativo Java para Windows, é orientado por eventos. Para que um programa como um aplicativo Java seja útil, é necessário fornecer uma resposta aos comandos ou entradas do usuário. Os aplicativos Java possuem eventos para capturar ações do usuário. Antes de discutirmos a manipulação de eventos em Java, vamos começar discutindo os eventos.

Índice

O que é um Evento?

Os eventos têm o mesmo significado e importância em todas as linguagens de programação. São efeitos externos que são controlados pelo usuário e que fazem com que sua aplicação se comporte de acordo com a condição pré-definida posta em prática para registrar sua resposta às diferentes ações do usuário. Um evento pode até ser denominado como um objeto que ganha vida quando uma mudança ocorre dentro da GUI.

Exemplos de eventos em Java incluem digitar caracteres ou texto, clicar em uma caixa de combinação, clicar em um botão ou qualquer outra ação do lado do usuário. Qualquer ação desse tipo aciona um evento, que resulta na criação do objeto de evento relevante para esse evento.

Por exemplo, se um usuário insere alguns dados (ação do usuário que aciona um evento), o aplicativo produz uma saída exibindo uma caixa de diálogo ou exibindo informações (objeto de evento). Esses comportamentos relacionados a eventos fazem parte do Event Handling Mechanism of Java e estão presentes na biblioteca Swing GUI. É importante observar que a origem de cada evento e o ouvinte de eventos devem estar vinculados. Se este não for o caso, o acionamento de um evento não produzirá nenhuma ação.

Por que um programa ou aplicativo precisa ser orientado a eventos?

Antes que o tratamento de eventos entrasse em cena, um programa tinha que coletar todas as informações do usuário para saber o que estava fazendo em um determinado momento. Isso significa que, após ser executado ou inicializado, um programa sempre estava em um grande loop de repetição esperando que o usuário fizesse alguma coisa.

Então, o programa estava procurando por qualquer ação – desde o pressionar de um botão até o movimento do slider. Depois de saber que algo aconteceu do lado do usuário, ele se preparou para fornecer a resposta apropriada. Isso é chamado de sondagem. Embora a pesquisa faça o trabalho, na maioria das vezes, parece uma tarefa muito incontrolável e demorada.

Leia: Perguntas e respostas da entrevista do desenvolvedor Java

Se considerarmos usá-lo para aplicativos modernos, ele realmente não atende aos requisitos. Duas razões principais tornam a sondagem inadequada para aplicativos modernos – a sondagem coloca todo o código relacionado ao evento dentro do grande loop de repetição e as interações que ocorrem dentro desse local são muito complexas. Além disso, o polling faz com que um programa entre em um loop sem fim, o que resulta no esgotamento dos ciclos da CPU sem nenhuma garantia de ação vinda do usuário.

O Abstract Window Toolkit ou AWT foi em frente e se associou a um modelo de trabalho diferente para resolver o problema discutido acima. Este novo modelo é a programação orientada a eventos. Com o AWT, não há necessidade de o programa procurar eventos gerados pelo usuário. É o tempo de execução do Java que faz esse trabalho. Ele intima o programa assim que um evento ocorre. Ele salva um recurso valioso da exaustão e lida melhor com a interação do usuário.

O que são manipuladores de eventos em Java e como eles funcionam?

Vamos agora discutir o tópico principal com o qual nos propusemos a lidar. Como funciona a manipulação de eventos em Java?

Como mencionado anteriormente, eventos são ações do usuário ou efeitos externos que fazem um aplicativo se comportar de uma determinada maneira. Em Java, componentes AWT, incluindo caixa de texto, botão e outros, são responsáveis ​​pela geração de eventos. Assim que um evento é gerado, o ouvinte o trata e executa a ação apropriada.

A manipulação de eventos em Java compreende quatro elementos. Eles podem até ser chamados de manipuladores de eventos.

1. Fonte de evento : Uma fonte de evento que gera um evento é principalmente um componente AWT. Você pode executar o comando java.awt.component para aprender sobre componentes que podem ou não ter qualquer função na geração de eventos. Os componentes são a subclasse da classe fonte original. As fontes de eventos podem ser qualquer coisa, desde caixas de texto e caixas de combinação até botões e muito mais.

Leia: Arquitetura MVC em Java

2. Classes de eventos : Em Java, são classes que respondem por quase todos os componentes que têm algo a ver com a geração de eventos. Estes também são chamados de tipos de eventos. Aqui estão algumas das classes de eventos mais comuns:

  • ActionEvent : Esta classe de evento ou tipo de evento representa um evento que envolve o clique de um elemento gráfico, como um botão ou um item de lista. O ouvinte relacionado a essa classe é ActionListener.
  • KeyEvent : Esta classe de evento representa um evento que envolve pressionar e soltar uma tecla. O ouvinte associado a esta classe é KeyListener.
  • ContainerEvent : Este tipo de evento representa um evento que acontece com o contêiner GUI. Essa classe está associada a qualquer evento em que a ação do usuário envolva a adição ou remoção de objeto(s) da GUI. O ouvinte relacionado para esta classe é ContainerListener.
  • MouseEvent : Esta classe representa todos os eventos que envolvem clicar ou pressionar o mouse. O ouvinte dessa classe é MouseListener.
  • WindowEvent : Esta classe ou tipo de evento representa eventos que envolvem qualquer ação relacionada a uma janela. Fechar, ativar ou desativar uma janela está nesta classe. O ouvinte relacionado para esta classe é WindowListener.

3. Event Listeners : São interfaces de Java que fornecem vários métodos que podem ser utilizados em diferentes classes implementadas. O trabalho dos ouvintes de eventos envolve ouvir os eventos e processá-los adequadamente quando eles ocorrerem. Quase todos os componentes em Java têm um ouvinte dedicado que trata de qualquer evento gerado por esse componente. ActionListener manipula eventos que envolvem listas, botões, campos de texto e menus.

4. Adaptadores de Eventos : Se um programa apresenta muitos métodos abstratos para o listener substituir, pode ser difícil compilá-lo. Por exemplo, se quisermos fechar um quadro, existem sete métodos abstratos WindowListener que precisamos substituir. Para reduzir a complexidade e a codificação pesada, Java possui adaptadores de eventos. Os adaptadores de eventos já são métodos abstratos substituídos.

Conclusão

É importante lembrar que várias fontes de eventos e ouvintes podem interagir entre si. Assim, vários eventos pertencentes à mesma classe podem ser tratados por um único ouvinte. Isso significa que um ouvinte pode manipular todos os eventos que envolvem os mesmos componentes que executam ações semelhantes. Em linhas semelhantes, um único evento pode ser tratado por mais de um ouvinte, somente se o design do programa permitir isso.

Faz sentido?

Sim?

Não?

Entre em contato conosco para conhecer uma extensa sessão sobre manipulação de eventos em Java. Você não iria se arrepender!

Se você estiver interessado em aprender mais sobre Java para desenvolvimento web, confira o PG Diploma in Full-stack Software Development da upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos e atribuições, Status de ex-aluno do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

Aterre no seu emprego dos sonhos

UPGRAD E DIPLOMA PG DO IIIT-BANGALORE EM DESENVOLVIMENTO DE SOFTWARE
Saber mais