Usar Listener e Key Listener Java - por Ronaldo Lanhellas

12
19/08/2015 Trabal hando com eventos na GUI do Java http://www.devmedi a.com.br/trabalhando-com-eventos-na-gui-do- j ava/25898 1/12 Buscar  comentários  favorito (2)  marcar como lido  para impressão  anotar Trabalhando com eventos na GUI do Java Veja neste artigo como funcionam os eventos na GUI (Graphical User Interface) de aplicações desenvolvidas na linguagem Java. Serão apresentados os principais tipos de eventos e como tratá-los.  Gostei (6) (0)  As aplicações em geral precisam de alguns eventos para o funcionamento completo do programa. Normalmente as GUIs do Java são baseadas em eventos, que são tarefas realizadas quando um usuário faz a interação com algum componente GUI, convertendo as ações do usuário em eventos, como por exemplo:  2  13 Curtir 1

description

Como trabalhar com listener java. Como funciona Listener java. KeyListener java. Ronaldo Lanhellas

Transcript of Usar Listener e Key Listener Java - por Ronaldo Lanhellas

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 1/12

19/08/2015 Trabalhando com eventos na GUI do Java

http://www.devmedia.com.br/trabalhando-com-eventos-na-gui-do-java/25898 1/12

Buscar

comentários favorito (2) marcar como lido para impressão anotar

Trabalhando com eventos naGUI do Java

Veja neste artigo como funcionam os eventos na GUI

(Graphical User Interface) de aplicações desenvolvidasna linguagem Java. Serão apresentados os principaistipos de eventos e como tratá-los.

Gostei (6) (0)

As aplicações em geral precisam de alguns eventos para o funcionamento completo do

programa. Normalmente as GUIs do Java são baseadas em eventos, que são tarefas

realizadas quando um usuário faz a interação com algum componente GUI,

convertendo as ações do usuário em eventos, como por exemplo:

2 13Curtir 1

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 2/12

19/08/2015 Trabalhando com eventos na GUI do Java

http://www.devmedia.com.br/trabalhando-com-eventos-na-gui-do-java/25898 2/12

Quando ocorre uma ação ( ActionEvent );

Clique do mouse ( MouseEvent );

Apertar em uma tecla ( KeyEvent );

Fechar uma janela ( WindowEvent );

As tarefas de respostas realizadas em um evento são conhecidas como handler de

evento e o processo total de responder a eventos é conhecido como tratamento de

evento. Para cada tipo de evento precisa ser implementada uma interface de escuta.

As informações de evento são armazenadas em um objeto de uma classe que estende

AWT.Event. Veja abaixo na Figura 1 a hierarquia de eventos referente ao pacote

java.awt.

Figura 1: Classes de evento do pacote java.awt

Existem três elementos para o funcionamento d1o tratamento de evento que são:

Origem do Evento : é o componente GUI com qual o usuário interage.

Objeto do Evento : contém os dados do evento invocado, sendo como uma

referência à origem do evento e quaisquer informações específicas do evento que

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 3/12

19/08/2015 Trabalhando com eventos na GUI do Java

http://www.devmedia.com.br/trabalhando-com-eventos-na-gui-do-java/25898 3/12

podem ser exigidas pelo ouvinte para testar o evento.

Ouvinte do Evento : é um objeto que é notificado pela origem de evento quando

um evento ocorre.

Na Figura 2 são mostradas as interfaces ouvintes de eventos dos pacotes javax.swing.event.

Figura 2: Interfaces listener de eventos

Lembrando que as interfaces providas da classe Listener podem ter um ou mais

métodos de tratamento de evento que devem ser declarados na classe que implementa

a interface.

Sendo evento ouvinte

Quando existe a intenção de uma ação do usuário sobre algum componente, é

necessário o componente saber que há esse interesse, sendo assim é implementado a

interface ActionListener e usado o método addActionListener() sendo passado como

parâmetro a palavra “this”, é a referência do objeto da classe que implementa a

interface ActionListener, neste caso ela mesma. Após isso é preciso saber uma

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 4/12

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 5/12

19/08/2015 Trabalhando com eventos na GUI do Java

http://www.devmedia.com.br/trabalhando-com-eventos-na-gui-do-java/25898 5/12

@Override public void actionPerformed(ActionEvent evento) { botao.setText("Botão foi clicado!");

//ALTERA A FONTEbotao.setFont(new Font("SansSerif", Font.BOLD, 20));

}

public static void main(String[] args) { CapturaEventoBotao captura = new CapturaEventoBotao(); captura.janela(); }}

Handler de Evento

Quando um evento acontece, é realizado o despacho (dispatching) para os ouvintes

apropriados. Esse despacho é o processo em que o componente GUI chama um

método de tratamento de evento em cada um de seus ouvintes, sendo registrados para

o tipo de evento ocorrido.

A ocorrência de um evento faz com que o componente receba um ID único de evento.

Esse ID especifica o tipo de evento. Então o componente pega esse ID para decidir

qual tipo de ouvinte irá ser útil para o evento que deverá ser despachado, decidindo

qual o método que vai chamar para cada objeto listener.

O evento é despachado por todas as decisões que são tratadas para o usuário através

dos componentes GUI. Sendo necessário ser feito, pois precisa ser registrado um

handler de evento para o tipo particular de evento que o aplicativo exige. O

componente vai assegurar que o método apropriado do handler de evento é chamado

quando o evento ocorrer. Abaixo ilustramos alguns exemplos de componentes GUI e

manipulações de alguns eventos.

Listagem 2: Criação de botões e aplicação de eventos

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 6/12

19/08/2015 Trabalhando com eventos na GUI do Java

http://www.devmedia.com.br/trabalhando-com-eventos-na-gui-do-java/25898 6/12

import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;

import javax.swing.JButton;import javax.swing.JFrame;

import javax.swing.JOptionPane;

public class ButtonFrame2 extends JFrame{

private JButton botaoPrata; private JButton botaoOuro;

//BUTTONFRAME ADICIONA JBUTTONS AO JFRAME public ButtonFrame2()

{ super("Testando Botões"); setLayout(new FlowLayout()); //CONFIGURA O LAYOUT DE FRAME

botaoPrata = new JButton("Prata"); //BOTÃO COM TEXTO add(botaoPrata); //ADICIONA botaoPrata AO JFRAME

botaoOuro = new JButton("Ouro"); add(botaoOuro); //ADICIONA botaoOuro AO JFRAME

//CRIA NOVO BUTTON HANDLER PARA TRATAMENTO DE EVENTO DE BOTÃO ButtonHandler handler = new ButtonHandler(); botaoOuro.addActionListener(handler); botaoPrata.addActionListener(handler);

}

//CLASSE INTERNA PARA TRATAMENTO DO BOTÃO public class ButtonHandler implements ActionListener { //TRATA EVENTO DO BOTÃO public void actionPerformed(ActionEvent event) { JOptionPane.showMessageDialog(ButtonFrame2.this, String.for } }}

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 7/12

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 8/12

19/08/2015 Trabalhando com eventos na GUI do Java

http://www.devmedia.com.br/trabalhando-com-eventos-na-gui-do-java/25898 8/12

private JPasswordField passwordField;

//CONSTRUTOR TEXTFIELDFRAME ADICIONA JTEXTDFIELDS A JFRAME public TextFieldFrame() { super("Testando JTextField e JPasswordField"); setLayout(new FlowLayout());

//CONSTRÓI TEXTFIELD COM 10 COLUNAS textField1 = new JTextField(10);

add(textField1); //ADICIONA TEXTFIELD2 AO JFRAME

textField2 = new JTextField("Entre com o texto aqui"); add(textField2);

//CONSTRÓI TEXTFIELD COM TEXTO PADRÃO E 21 COLUNAS textField3 = new JTextField("Campo não editável",21); textField3.setEditable(false); //DESATIVA EDIÇÃO add(textField3);

//CONSTRÓI PASSWORDFIELD COM TEXTO PADRÃO passwordField = new JPasswordField("Texto Escondido"); add(passwordField); //ADICIONA PASSWORDFIELD AO JFRAME

//HANDLERS DE EVENTO REGISTRADORES TextFieldHandler handler = new TextFieldHandler(); textField1.addActionListener(handler); textField2.addActionListener(handler); textField3.addActionListener(handler); passwordField.addActionListener(handler);

}

//CLASSE INTERNA PRIVATE PARA TRATAMENTO DE EVENTO private class TextFieldHandler implements ActionListener { //PROCESSA EVENTOS DE CAMPO DE TEXTO public void actionPerformed(ActionEvent event){

String string = "";

//USUÁRIO PRESSIONOU ENTER NO JTEXTFIELD TEXTFIELD1

if(event.getSource() == textField1) string = String.format("textField1: %s", event.getAc

//USUÁRIO PRESSIONOU ENTER NO JTEXTFIELD TEXTFIELD2

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 9/12

19/08/2015 Trabalhando com eventos na GUI do Java

http://www.devmedia.com.br/trabalhando-com-eventos-na-gui-do-java/25898 9/12

else if(event.getSource() == textField2) string = String.format("textField2: %s", event.getAc

//USUÁRIO PRESSIONOU ENTER NO JTEXTFIELD TEXTFIELD3 else if(event.getSource() == textField3) string = String.format("textField3: %s", event.getAc

//USUÁRIO PRESSIONOU ENTER NO JTEXTFIELD PASSWORDFIELD else if(event.getSource() == passwordField) string = String.format("passowordField: %s", event.

//EXIBE O CONTEÚDO DE JTEXTFIELD JOptionPane.showMessageDialog(null, string);

} }}

Listagem 5: Classe testadora TextFieldFrame

import javax.swing.JFrame;

public class TestaTextField {

public static void main(String[] args) {

TextFieldFrame textFieldFrame = new TextFieldFrame(); textFieldFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); textFieldFrame.setSize(350,200); textFieldFrame.setVisible(true);

}

}

onclusão

Para concluir esse artigo, abaixo é apresentado um resumo de algumas ações para

servir como base de consulta.

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 10/12

19/08/2015 Trabalhando com eventos na GUI do Java

http://www.devmedia.com.br/trabalhando-com-eventos-na-gui-do-java/25898 10/12

O que você achou deste post?

Sempre quando for criar um componente comece com uma Janela (JFrame) –

Jframe frame = new Jframe();

Para adicionar os componentes gráficos dentro de um Jframe –

frame.getContentPane().add(nomeComponenteInstanciado);

Para ouvir um evento, sempre registrar o interesse em uma origem de evento.

Para registrar e ouvir ActionEvents de um componente –

nomeDoComponente.addActionListener(this);

Implemente a interface de escuta e insira todos os métodos de manipulação de

eventos que essa interface tem.

public void actionPerformed(ActionEvent evento){

//DEFINE OS ESTADOS DOS COMPONENTES

}

Espero que tenham gostado e até a próxima!

Thiago Vinícius Varallo Palmeira

Um entusiasta das linguagens de programação. Fórum: varallos.com.br/foruns Site: varallos.com.br

YouTube: youtube.com/varallos1 'Deveria existir uma pitada de diletantismo na crítica. Pois o diletante é

um entusias [...]

Publicado em 2012

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 11/12

19/08/2015 Trabalhando com eventos na GUI do Java

http://www.devmedia.com.br/trabalhando-com-eventos-na-gui-do-java/25898 11/12

Gostei (6) (0)

Postar dúvida / Comentário

+ Mais conteúdo sobre Java

Não há comentários

Meus comentarios

Publicidade

Mais postsArtigo

Como funciona o JSF View State

21

Introdução a NFC-e

Artigo

7/21/2019 Usar Listener e Key Listener Java - por Ronaldo Lanhellas

http://slidepdf.com/reader/full/usar-listener-e-key-listener-java-por-ronaldo-lanhellas 12/12

19/08/2015 Trabalhando com eventos na GUI do Java

Trabalhando com o Pattern Observer na Plataforma Java EE

Artigo

Introdução ao PrimeFaces

Pocket Video

Upload de arquivos: JSF vs RichFaces

Video aula

Finalizando CRUD com Phone – Curso de Spring-Data JPA –

Aula 15

Listar mais conteúdo

Anuncie | Loja | Publique | Assine | Fale conosco

Hospedagem web por Porta 80 Web Hosting

Seja o primeiro de seus amigos a curtir isso.

DevMedia70 mil curtidasCurtir Página