A evento in Java é um objeto criado quando algo muda em uma interface gráfica do usuário. Se um usuário clicar em um botão, clicar em uma caixa de combinação ou digitar caracteres em um campo de texto, etc., um evento será acionado, criando o objeto de evento relevante. Esse comportamento faz parte do mecanismo de manipulação de eventos do Java e está incluído na biblioteca da GUI do Swing.
Por exemplo, digamos que temos um JButton. Se um usuário clicar no JButton, um evento de clique no botão é acionado, o evento será criado e enviado para o respectivo ouvinte de evento (neste caso, o ActionListener). O ouvinte relevante terá código implementado que determina a ação a ser executada quando o evento ocorrer.
Observe que uma fonte de eventos devo ser emparelhado com um ouvinte de evento ou seu acionamento resultará em nenhuma ação.
Como funcionam os eventos
A manipulação de eventos em Java é composta por dois elementos principais:
- A fonte do evento, que é um objeto criado quando ocorre um evento. Java fornece vários tipos dessas fontes de eventos, discutidas na seção Tipos de Eventos abaixo.
- O ouvinte de evento, o objeto que "escuta" os eventos e os processa quando eles ocorrem.
Existem vários tipos de eventos e ouvintes em Java: cada tipo de evento está vinculado a um ouvinte correspondente. Para esta discussão, vamos considerar um tipo comum de evento, um evento de ação representado pela classe Java ActionEvent, que é acionado quando um usuário clica em um botão ou no item de uma lista.
Na ação do usuário, um ActionEvent objeto correspondente à ação relevante é criado. Este objeto contém as informações da fonte de eventos e a ação específica executada pelo usuário. Esse objeto de evento é passado para o correspondente ActionListener método do objeto:
void actionPerformed (ActionEvent e)
Esse método é executado e retorna a resposta da GUI apropriada, que pode ser para abrir ou fechar um diálogo, baixar um arquivo, fornecer uma assinatura digital ou qualquer outra das inúmeras ações disponíveis para os usuários em um interface.
Tipos de Eventos
Aqui estão alguns dos tipos mais comuns de eventos em Java:
- ActionEvent: Representa que um elemento gráfico é clicado, como um botão ou item em uma lista. Ouvinte relacionado: ActionListener.
- ContainerEvent: Representa um evento que ocorre no próprio contêiner da GUI, por exemplo, se um usuário adiciona ou remove um objeto da interface. Ouvinte relacionado: ContainerListener.
- Evento-chave: Representa um evento no qual o usuário pressiona, digita ou libera uma tecla. Ouvinte relacionado: KeyListener.
- WindowEvent: Representa um evento relacionado a uma janela, por exemplo, quando uma janela é fechada, ativada ou desativada. Ouvinte relacionado: WindowListener.
- MouseEvent: Representa qualquer evento relacionado a um mouse, como quando um mouse é clicado ou pressionado. Ouvinte relacionado: MouseListener.
Observe que vários ouvintes e fontes de eventos podem interagir entre si. Por exemplo, vários eventos podem ser registrados por um único ouvinte, se forem do mesmo tipo. Isso significa que, para um conjunto semelhante de componentes que executam o mesmo tipo de ação, um ouvinte de eventos pode manipular todos os eventos. Da mesma forma, um único evento pode ser vinculado a vários ouvintes, se isso for adequado ao design do programa (embora isso seja menos comum).