Buscar

JavaEventos_Explicação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Java Eventos
Introdução
A programação de sistemas baseados em interface gráfica 
utiliza eventos para acionar elementos gráficos (janelas, 
botões, menus etc) e promover a interação das 
funcionalidades do sistema com o usuário;
Os eventos são acionados por meio dos elementos gráficos 
são de várias formas;
Existem diversos tipos de eventos e, a maneira como são 
chamados depende, por exemplo, do elemento gráfico 
manipulado, exemplos de acionadores de eventos seriam:
Gerados pelo mouse;
Gerados pelo uso do teclado;
Uso de elementos gráficos (botões, menus, janelas etc).
Como funciona os eventos em Java?
Os principais eventos estão implementados no 
pacote java.awt.event;
O pacote event contém diversas classes de interface
que permitem definir diversos eventos para 
componentes gráficos de interface;
Fonte do evento Ouvinte registrado
Evento
Ouvinte não 
registrado
Modelo de delegação
de evento
Classes de Interface e Eventos
Interface nada mais é do que dispositivo ou sistema 
que permite duas entidades interagir entre si;
Exemplos de interface seriam:
Controle remoto de Tvs: permite a um expectador 
interagir com a TV;
Linguagem natural: permite a comunicação entre duas 
pessoas.
Classes de Interface e Eventos
Uma Interface Java prescreve um comportamento 
(funcionalidade) que a classe pode ter;
Classe de interface, de modo geral, é análoga a um 
protocolo (prescreve um comportamento).
Em resumo, uma interface Java define um conjunto 
de métodos sem, entretanto, implementa-los
(somente o cabeçalho do método). As classes que 
“adquirem” (implementam a interface) esses 
comportamentos concordam em implementa-los.
Por que as interfaces são úteis?
Interfaces Java são apropriadas quando, por 
exemplo, um número de classes compartilham o 
mesmo comportamento, porém, a forma como se 
comportarão não é a mesma e, desse modo, não 
seria apropriado implementar esses 
comportamentos por herança.
Todos os veículos aceleram. Mas 
aceleram da mesma maneira?
2
Mas sobre Interface Java
Uma interface também pode conter dados 
(constantes). Qualquer classe que implementa uma 
interface pode usar esses dados constantes;
Dentro da interface qualquer método ou dado é 
automaticamente declarado como público;
Qualquer declaração de dados em uma interface são 
automaticamente assumidos como final.
O que são eventos?
Programas baseados em janelas são assíncronos, 
isto significa que qualquer coisa pode acontecer a 
qualquer tempo. Por exemplo, o programa não 
“sabe” predizer quando o usuário poderá clicar 
sobre um botão;
Por causa disso, programas gráficos são orientados 
a eventos (modelo de delegação de eventos), desse 
modo, interações realizadas pelo usuário são 
passadas para o programa processar;
Como funcionam os eventos?
Basicamente, os eventos trabalham dessa maneira:
Qualquer sistema operacional que suporta GUI (interface 
gráfica) monitora eventos tais como clique de mouse, 
teclas pressionadas etc;
O sistema operacional informa esses eventos ao programa 
que está executando;
O programa decide o que fazer com esses eventos.
Como funcionam os eventos?
O programador precisa construir um número de tratadores 
de eventos capaz de processar um tipo particular de evento:
Clique do mouse;
Movimentação do mouse;
Tecla pressionada ...
Uma vez tenha sido definido o tratamento do evento, ele 
deve ser registrado para que o máquina virtual Java possa 
usa-lo;
Normalmente, cada componente (botão, menu, item de lista, 
janela etc) tem um número de tratadores de eventos 
associados.
Como funcionam os eventos?
Por exemplo:
Quando um mouse dá entrada em um componente, o 
evento “MouseEntered” é gerado;
Logo após a ocorrência do evento, a máquina virtual Java 
verifica se o componente, no qual o mouse deu a entrada, 
possui um evento registrado para esse tipo de ocorrência;
Havendo o evento de entrada do mouse registrado, é 
passado o controle para esse componente e o método 
associado é executado.
Modelo de Delegação de Eventos
Como funciona o modelo de delegação de eventos 
em Java?
Uma fonte gera um evento e o envia para um ou 
mais listeners (ouvintes);
Os listeners precisam ser previamente registrados junto 
à fonte do evento, para receber a notificação desta fonte.
3
Hierarquia das classes de eventos
jav
a.u
til.
Ev
en
tO
bje
ct
jav
a.a
wt
.A
W
TE
ve
nt
java.awt.event.AdjustmentEvent
java.awt.event.ComponentEvent
java.awt.event.FocusEvent
java.awt.event.KeyEvent
java.awt.event.MouseEvent
java.awt.event.WindowEvent
java.awt.event.ActionEvent
java.awt.event.ItemEvent
java.awt.event.TextEvent
Hierarquia das classes de eventos
Categoria Eventos Interface
Mouse Arrastar/Soltar o mouse MouseMotionListener
Clique sobre um botão etc MouseListener
Teclado Tecla pressionada KeyListener
Seleção de itens Quando seleciona um item ItemListener
Controle de texto Nova linha em um controle TextListener
Controle Scrolling Quando deslisa a barra de rolagem AdjustmentListener
Botões, menus, etc Quando pressiona ou seleciona ActionListener
Mudanças janela Abrir/fechar/minimizar etc WindowListener
Mudança de foco Tabulação/Enter/Foco FocusListener
Componente Tamanho/esconder/mover ComponentListener
Container Adicionar/mover um componente ContainerListener
interface MouseMotionListener
Métodos:
void mouseDragged ( MouseEvent e ) Invocado quando o botão do mouse épressionado e arrastado.
void mouseMoved ( MouseEvent e )
Invocado quando o mouse é movido 
para um componente (sem o botão
estar pressionado).
interface MouseListener
Métodos:
void mouseClicked ( MouseEvent e ) Invocado quando o mouse é clicladosobre um componente.
void mouseEntered ( MouseEvent e ) Invocado quando o mouse foca (entra) em um componente.
void mouseExited ( MouseEvent e ) Invocado quando o mouse tira o foco (sai) de um componente.
void mousePressed (MouseEvent e ) Invocado quando um botão do mouse é pressionado.
void mouseReleased ( MouseEvent e ) Invocado quando o botão do mouse éliberado (solto após pressionado).
interface KeyListener
Métodos:
void keyPressed ( KeyEvent e ) Invocado quando uma tecla épressionada.
void keyReleased ( KeyEvent e ) Invocado quando uma tecla é solta (após ser pressionada).
void keyTyped ( KeyEvent e ) Invocado quando uma tecla épressionada (para capturar a tecla)
interface ItemListener
Métodos:
void itemStateChanged ( ItemEvent e )
Invocado quando o estado de um item 
é alterado. Por exemplo, quando um 
item de um Radio ou Check mudam.
4
interface TextListener
Métodos:
void textValueChanged ( TextEvent e )
Invocado quando o valor de um objeto 
texto é alterado. Por exemplo, mudança 
no texto de um JLabel.
interface AdjustmentListener
Métodos:
void adjustmentValueChanged
( AdjustmentEvent e )
Invocado quando o valor de um 
componente ajustável (barra de rolagem 
por exemplo) é alterado.
interface ActionListener
Métodos:
void actionPerformed ( ActionEvent e )
Invocado quando uma ação ocorre. Por 
exemplo: botão pressionado, item de 
menu selecionado.
interface WindowListener
Métodos:
void windowActivated ( WindowEvent e ) Invocado quando uma janela é ativada (recebe o foco por exemplo).
void windowClosed ( WindowEvent e ) Invocado quando uma janela é fechada.
void windowClosing ( WindowEvent e ) Invocada quando uma janela estáfechando.
windowDeactivated ( WindowEvent e ) Invocado quando uma janela é desativada (perde o foco por exemplo).
windowDeiconified ( WindowEvent e ) Invocado quando uma janela émaximizada.
void windowIconified ( WindowEvent e ) Invocado quando uma janela éminimizada.
void windowOpened ( WindowEvent e ) Invocado quando uma janela é aberta.
interface FocusListener
Métodos:
void focusGained ( FocusEvent e ) Invocado quando umcomponente recebe o foco.
void focusLost ( FocusEvent e ) Invocado quando o componente perde o foco.
interface ComponentListener
Métodos:
void componentHidden
( ComponentEvent e )
Invocado quando o componente é
ocultado.
void componentMoved
( ComponentEvent e )
Invocado quando o componente é
movido.
componentResized
( ComponentEvent e )
Invocado quando as dimensões do 
componente são alteradas.
void componentShown
( ComponentEvent e )
Invocado quando o componente é
mostrado após ocultação.
5
interface ContainerListener
Métodos:
void componentAdded
( ContainerEvent e )
Invocado quando um componente é
adicionado ao container.
void componentRemoved
( ContainerEvent e )
Invocado quando um componente é
removido do container.
Exemplo: botão fechar
1. import java.awt.*;
2. import java.awt.event.*;
3. import javax.swing.*;
4. public class BotaoFechar extends JButton implements 
ActionListener {
5. public BotaoFechar(){
6. this.setText("Fechar");
7. this.addActionListener(this);
8. }
9. public void actionPerformed(ActionEvent e) {
10. System.exit(0);
11. }
12. }
Obs.: o botão deve ser adicionado a um frame com o método main.
Exemplo: comentários
As linhas 1,2 e 3 importam as classes utilizadas no 
código.
A linha 4 declara uma classe chamada BotaoFechar
herdando as características da classe Jbutton. Além 
disso implementa a interface ActionListener a qual 
possui o método abstrato actionPerformed que deverá 
ser implementado.
A linha 5 declara o cabeçalho do método construtor.
A linha 6 define o rótulo do botão;
A linha 7 adiciona a classe ao ouvinte de eventos;
Entre as linhas 9 a 11 é implementado o método abstrato 
(actionPerformed) herdado da interface ActionListener.
A linha 10 executa o método exit passando como 
argumento zero (para fechar a janela).
Links
http://www2.dm.ufscar.br/~waldeck/curso/java/
http://www.mundooo.com.br
	Java Eventos
	Introdução
	Como funciona os eventos em Java?
	Classes de Interface e Eventos
	Classes de Interface e Eventos
	Por que as interfaces são úteis?
	Mas sobre Interface Java
	O que são eventos?
	Como funcionam os eventos?
	Como funcionam os eventos?
	Como funcionam os eventos?
	Modelo de Delegação de Eventos
	Hierarquia das classes de eventos
	Hierarquia das classes de eventos
	interface MouseMotionListener
	interface MouseListener
	interface KeyListener
	interface ItemListener
	interface TextListener
	interface AdjustmentListener
	interface ActionListener
	interface WindowListener
	interface FocusListener
	interface ComponentListener
	interface ContainerListener
	Exemplo: botão fechar
	Exemplo: comentários
	Links

Outros materiais