Como tratar eventos - A interface ActionListener e o método actionperformed



Documentos relacionados
Interface gráfica em Java: Swing e SWT

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Nona aula

Aula 2 Even e to t s d o M ouse

(INFORMAÇÕES PARA LABORATÓRIOS VIRTUAIS) Nome do laboratório: Laboratório de Programação (INFORMAÇÕES PARA FERRAMENTA)

HABILITANDO A IDE DO ECLIPSE

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1.

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

MÓDULO 4 SWING Parte 3

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 16, 17, e 18

Manual aplicativo webprint.apk

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

COMO BAIXAR, INSTALAR E UTILIZAR O NAVEGADOR MOZILLA FIREFOX

Inclusão de Novo Processo Administrativo

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 4- Tratamento de Eventos em Interfaces Gráficas

Interface Gráfica. Disciplina: Desenvolvimento de Sistemas. Professor: Thiago Silva Prates

MANUAL DO SISTEMA TRT-5 PRESTADOR MÉDICO

ACD Loteca Chaves e Filtro PRO 1.0 Dicas

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

WORKSHOP: CONFECÇÃO DE OBJETOS DE APRENDIZAGEM INTERATIVOS UTILIZANDO FLASH* Parte 1: Iniciando o Flash

AULA 3 Trabalhando com apresentações do Microsoft PowerPoint

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação

Fundamentos de Informática. Tiago Alves de Oliveira

Manual do Usuário. Quiz Online

UM POUCO MAIS DE FORMATAÇÃO

ACD Lotogol Chaves e Filtro PRO 1.0 Dicas

Manual de Software. CAPÍTULO 4 da coleta SECRETARIA DA ADMINISTRAÇÃO - SAEB DIRETORIA DE PATRIMÔNIO - DPA COORDENAÇÃO DE BENS MÓVEIS - CBM

Java Swing: Netbeans

O QUE É O CALC PLANILHAS ELETRÔNICAS O Calc é um programa que trabalha com planilhas.

Interfaces Gráficas com Swing. Professor Leonardo Larback

Manual Básico. Para utilização do Gerenciador de Imóveis

Manual de baixa do Certificado Digital AR PRÁTICA

Introdução à Programação Gráfica em Java

Passos. Capturar a Tela no Windows (Screenshot) Tutorial retirado do site: WikHow.

BIZAGI PROCESS MODELER - TUTORIAL INSTALAÇÃO E PRIMEIRO ACESSO

Aula 15 Interface Gáfica. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Manual básico de criação de site responsivo com Dreamweaver CC2014

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch

COMO VENDER MAIS USANDO FUNIL DE VENDAS. Capítulo III: Etapas do Funil de Vendas

Elaborando as Interfaces Aulas 31, 32 e 33

Gerenciamento de dispositivos móveis

Criando uma conta no Gmail

instalação ubuntu Projeto Linux BRasil Incentivando o Linux e o software livre no BRasil!!!

Demonstração das Mutações do Patrimônio Líquido- DMPL

FUNDAMENTOS DE WINDOWS INFORMÁTICA / IFRN/PRONATEC 1. O Windows

O Portal de Assinaturas Certisign é um serviço que permite a pessoas e empresas assinarem documentos eletrônicos com validade jurídica, de forma

Procedimento para Restaurar Sistema operacional no VPU desde Acronis.

Elaborando as Interfaces Aulas 43, 44 e 45

. Uma instância da classe JTextField gera uma instância da classe ActionEvent quando o objecto está activo e o utilizador pressiona a tecla ENTER.

Consultório On-line. Tudo o que você precisa em um só lugar.

Criando um Site. Por: João Paulo Almeida

Tutorial - Módulo de Biblioteca

Noções Básicas. Capítulo 2: Noções Básicas. Funções básicas. Familiarizando com o software

Como utilizar o Paint

Cartilha de Acesso Rápido

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

COLÉGIO NETWORK TÉCNICO EM INFORMÁTICA Técnicas de Suporte ao Usuário Material II Modelo 02 Cadastro de Clientes

Apresentação do Microsoft Excel

Usando o painel do operador

Apostila de Outlook 2013

USANDO O PYTHON PARA ESCREVER PLUG-INS PARA O GIMP

Linguagem de Programação Visual

EstoqMan PAF-ECF 4.5 Manual de início rápido para o usuário

Guia de Referência Mobile. SIGEduc Mobile. Elaborado por: SIG Software e Consultoria em Tecnologia da Informação

EXCEL O Excel já cria o gráfico com base nas células que você selecionou, confira:

Com uma melhoria no visual o sistema conta com novidades e alguns aprimoramentos nos recursos já existentes.

2) Pressione o ícone no canto esquerdo superior da janela do Excel. Você verá a caixa de diálogo a seguir.

TUTORIAL DO SISTEMA CE MERCANTE

1 Acesso ao Módulo de Agendamento do Portal de Serviços do Inmetro nos Estados

ECF: A Geração do Arquivo

Diário Oficial Digital. Sistema web para pesquisa de mátérias Manual do usuário

Manual de Uso do Aplicativo

Transcrição:

Se você parar para reparar, um aplicativo gráfico é como se fosse como um cardápio de um restaurante. Você chega, faz seus pedidos e suas ordens são atendidas. Cada pessoa vai fazer pedidos diferentes, tanto dos pratos como do número de coisas ordenadas. Da mesma maneira é uma aplicação gráfica em Java. Um programa nada mais é que uma série de opções, onde cada usuário vai fazer o que quiser, clicando em botões, apertando teclas do teclado, rolando a barra de informações, marcando, selecionando, escrevendo, minimizando, fechando e uma infinidade de possibilidades. Cada vez que o usuário faz uma destas coisas, dizemos que foi realizado um evento. Ou seja, um click, o mouse passou em alguma região e algo mudou, ele escreveu algo, deu enter etc etc. O que a GUI (Graphic User Interface) faz é nada mais que tratar estes eventos. Se ele apertar isso, acontece aquele, Se digitar isso, aquilo abre. Se clicar aqui, aquilo vai fechar. Se apertar enter, vai pra próxima janela etc etc. Ou seja, um aplicativo gráfico é uma maneira do usuário realizar pedidos e comandos de uma maneira bem mais simples e intuitiva. O usuário realiza o evento, e uma ação ocorre. Como tratar eventos - A interface ActionListener e o método actionperformed Existe uma classe em Java que será a responsável pelo tratamento de eventos. Ou seja, é nela que vamos identificar o evento que ocorreu e é nela que vamos definir que ações nossos aplicativos devem executar quando tal evento ocorrer. A classe ActionListener é uma interface, ou seja, é classe composta apenas de métodos abstratos. E isso é até óbvio, pois a classe não tem como saber que tipos de eventos vamos tratar em um aplicativo, muito menos vai saber que tipo ação queremos que nosso software tome quando um evento ocorrer. Listener pode ser traduzido como 'ouvinte'. E isso faz sentido, pois essa interface é que vai ficar 'esperando' algo ocorrer. É como se ela ficasse em um loop infinito, o tempo todo testando: "Ocorreu algo agora? E agora? Foi um evento? É um evento? E agora? E agora?..." Ou seja, a interface fica na 'escuta', na espreita até o usuário fazer alguma interação com o aplicativo e um evento ocorrer.

A interface ActionListener possui somente um método. Então temos apenas um método obrigatório para implementar, que é o método actionperformed, e ele é o responsável por tomar alguma ação caso algum evento ocorra. Assim, a interface fica na espera de algum evento, e caso ocorra ele é imediatamente passado para o método actionperformed. É dentro deste método que iremos definir as ações que ocorrem. Para fazer uso dessas funcionalidades, devemos importar: import java.awt.event.actionevent; import java.awt.event.actionlistener; Event Handling - Criando um tratador de eventos Agora que já temos noção do que é a interface ActionListener e seu método actionperformed, vamos aprender como, de fato, tratar um evento. O tratamento é feito por um objeto da classe ActionListener. Há várias maneiras de se criar esse objeto na prática, vamos aprender mais no próximo tutorial, mas neste exemplo vamos fazer de uma maneira bem didática. Como já estudamos JButton, vamos fazer um aplicativo que irá mostrar uma caixa de diálogo quando clicamos no botão ok ou no botão cancelar. Para iniciar, vamos criar nossa classe que irá implementar a ActionListener, vamos chamar de "ButtonHandler", (handle é manusear). Assim, o esqueleto de nosso tratador é: import java.awt.event.actionevent; import java.awt.event.actionlistener; public class ButtonHandler implements ActionListener { public void actionperformed(actionevent evento) {

Note que que o método actionperformed recebe um argumento 'evento' do tipo ActionEvent. Este argumento 'evento' vai armazenar a natureza do evento, ele sabe especifica e exatamente que componente ocorreu o evento. Tal componente está armazenado no método getsource() deste objeto. No nosso exemplo, vamos criar dois botões chamados "ok" e "cancela". Esses botões foram declarados na classe "Botao.java", que usamos no exemplo do artigo passado. Assim, quando formos criar o tratador (handler) pros botões, precisamos passar estes dois botões para nossa classe "ButtonHandler", e esta classe recebe eles por meio do construtor. Para saber que botão foi clicado, basta fazer testes condicionais para saber o que está guardado em: evento.getsource() Dependendo do botão que foi clicado, iremos exibir uma mensagem. Uma dizendo que o "OK" foi clicado, e o outro exibe a mensagem dizendo que o botão "CANCELAR" foi pressionado. As mensagens serão exibidas através das Dialog Boxes(Caixas de diálogo). Assim, nossa classe "ButtonHandler" que irá tratar os eventos dos botões é: ButtonHandler.java import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.joptionpane; public class ButtonHandler implements ActionListener { private JButton ok, cancela; public ButtonHandler(JButton ok, JButton cancela){ this.ok = ok; this.cancela = cancela; public void actionperformed(actionevent evento) { if(evento.getsource() == ok)

botão OK foi clicado"); JOptionPane.showMessageDialog(null, "O if(evento.getsource() == cancela) JOptionPane.showMessageDialog(null, "O botão CANCELA foi clicado"); O método addactionlistener - Adicionando um tratador de eventos aos componentes Pronto, nosso tratador de eventos dos botões, ou handler, foi construído, que é nossa classe "ButtonHandler". Vamos criar um objeto dessa classe, e chamar de "handler": ButtonHandler handler = new JButton(ok,cancela); Pronto, agora temos um tratador de botões do tipo 'ok' e 'cancela', que é o objeto handler. Porém, podem existir vários componentes, e para cada um deles há a possibilidade de existir um tratador de evento diferente. Clicar em um botão é diferente de escrever um texto numa caixa de texto. Numa você digita, e na outra componente você clica. Assim, para cada componente que vamos criar temos que definir que tratador de eventos aquele objeto vai usar. Isso é definido passando um objeto do tipo ActionListener para o método addactionlistener, existente nos componentes. Como queremos tratar apenas os botões 'ok' e 'cancela', e o tratador deles é o mesmo, fazemos: ok.addactionlistener(handler); cancela.addactionlistener(handler); O código de nossa classe "Botao", que é um JFrame com dois JButtons fica: Botao.java import java.awt.flowlayout; import javax.swing.jframe;

import javax.swing.jbutton; public class Botao extends JFrame{ private JButton ok = new JButton("OK"); private JButton cancela = new JButton("Cancela"); private ButtonHandler handler; public Botao(){ super("criando botões"); setlayout(new FlowLayout()); handler=new ButtonHandler(ok, cancela); ok.addactionlistener(handler); add(ok); cancela.addactionlistener(handler); add(cancela); E a classe principal é: Main.java import javax.swing.jframe; public class Main { public static void main(string[] args) { Botao botoes = new Botao(); botoes.setdefaultcloseoperation(jframe.exit_on_close); botoes.setsize(350,70); botoes.setvisible(true); Se rodarmos o projeto, teremos os seguintes resultados sempre que clicarmos em "OK" ou "CANCELAR":