Buscar

Aula8 Linguagem Prog

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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

Aula 8: Listeners e Adapters 
Eventos 
Evento é um acontecimento relevante no meio externo ao sistema relevante. Pode 
ser considerado como o resultado da interação do usuário com algum componente 
GUI. Mover o mouse, clicá-lo, digitar num campo de texto, selecionar um item de 
menu, fechar uma janela, clicar num botão etc. são interações que enviam eventos 
para o programa, normalmente realizando serviços. 
 
Eventos também podem ser gerados em resposta a modificações do ambiente. Em 
outras palavras, definem-se eventos GUI como mensagens (chamadas a métodos) que 
indicam que o usuário do programa interagiu com um dos componentes GUI. 
Um sistema orientado a objetos é definido como um conjunto de objetos interagindo 
ou trocando mensagens. Os eventos representam as ações dos atores nesse processo 
ou alguma resposta a uma mudança de estado. 
Tratamento de Eventos 
Quase todos os componentes propagam eventos. Esses eventos devem ser tratados 
em algum ponto do código da aplicação. Os eventos nunca são tratados no próprio 
componente (dado que não se tem acesso ao código do componente). Para ligar o 
código do tratamento de eventos ao componentes existem, no Java, um conjunto de 
interfaces chamadas listeners. Um listener é uma interface que especifica os 
métodos que uma aplicação deve ter para ser notificada da ocorrência de um 
determinado evento. Os componentes que geram eventos permitem que sejam 
adicionados ou removidos listeners em qualquer altura. 
 
O modelo de eventos do Java funciona da seguinte forma: 
 
O componente que produz eventos possui métodos especiais do tipo 
addXXListener(XXListener) que permite adicionar ou remover listeners. XX representa 
o nome do evento. O método addXXListener recebe, por parâmetro, o objeto que 
implementa a interface XXListener. 
 
A implementação do método addXXListener no componente apenas adiciona o 
objeto, passado por parâmetro a uma lista interna. Sempre que ocorrer um evento 
(exp.: botão pressionado), o componente percorre a lista e invoca, para cada 
elemento, o método definido na interface XXListener. 
No exemplo seguinte é construída uma GUI simples com um botão e uma caixa de texto. 
Sempre que o botão é pressionado a aplicação deve escrever na caixa de texto um número 
inteiro aleatório. Para processar os eventos, é necessário analisar os eventos que o botão 
produz. É preciso saber que, sempre que um botão é pressionado, é criado um evento do tipo 
ActionEvent. 
 
Para adicionar listeners, a classe que representa o botão (JButton) possui um método chamado 
addActionListener, que recebe por parâmetro um objeto que implemente a interface 
ActionListener. Na API, vê-se que a interface ActionListener especifica um método chamado 
actionPerformed. 
 
 
 
 
 
 
 
 
 
 
 
Exemplo de MessageDialog: 
 import java.awt.Component; 
import javax.swing.*; 
package exemplos; 
public class Janela { 
 private static Component janela; 
 public static void main(String[] args){ 
 JOptionPane.showMessageDialog( 
 janela, "Cuidado com as Provas!","Linguagem de 
Programação",JOptionPane.WARNING_MESSAGE); 
 } 
} 
 
ConfirmDialog 
Exibe uma mensagem e obtém uma confirmação (YES/NO, OK/CANCEL) 
Conjuntos de botões de opção(optionType): 
 
- JOptionPane.DEFAULT_OPTION 
- JOptionPane.YES_NO_OPTION 
- JOptionPane.YES_NO_CANCEL_OPTION 
- JOptionPane.OK_CANCEL_OPTION 
 
 
Exemplo de ConfirmDialog: 
 
import java.awt.Component; 
import javax.swing.*; 
package exemplos; 
public class Janela { 
 private static Component janela; 
 public static void main(String[] args){ 
 int resp = JOptionPane.showConfirmDialog(janela, 
 "Você já estudou para as provas?", "Escolha uma 
opção",JOptionPane.OK_CANCEL_OPTION); 
 } 
} 
 
Exemplo de InputDialog: 
 
import java.awt.Component; 
import javax.swing.*; 
package exemplos; 
public class Janela { 
 private static Component janela; 
 public static void main(String[] args){ 
String nome = JOptionPane.showInputDialog(janela, 
"Qual é o seu número de Matrícula", 
"Linguagem de Programação",JOptionPane.QUESTION_MESSAGE); 
 } 
}

Outros materiais