A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação em Java JButton e Tratamento de Eventos Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.

Apresentações semelhantes


Apresentação em tema: "Programação em Java JButton e Tratamento de Eventos Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores."— Transcrição da apresentação:

1 Programação em Java JButton e Tratamento de Eventos Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores

2 javax.swing.JButton O botão é um componente em que o usuário clica para disparar uma ação específica. Um programa Java pode utilizar vários tipos de botões, incluindo botões de comando, caixas de marcação, botões de alternância e botões de opção.

3 Métodos de JButton Construtores JButton() JButton(Icon icone) JButton(String texto) JButton(String texto, Icon icone) Outros setText(String texto) setIcon(Icon icone) setMnemonic(char mnemonic) setEnable(boolean estado) setToolTipText(String tip) addActionListener(ActionListener l)...

4 Exemplo JButton public class ExemploBotao extends JFrame { private JButton botao1, botao2; private Icon cafe = new ImageIcon( "java.jpg"); public ExemploBotao() { super( "Testando Botões" ); // Cria o container e atribui o layout Container container = getContentPane(); container.setLayout( new FlowLayout() ); // Cria os botões botao1 = new JButton("Botão Java", cafe ); botao1.setToolTipText("Pressione o botão"); container.add(botao1); botao2 = new JButton("Sair"); botao2.setToolTipText("Finaliza o programa"); container.add( botao2 ); setSize( 360, 150 ); setVisible( true ); } public static void main(String args[]) { ExemploBotao application = new ExemploBotao(); application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

5 Adicionando um Evento // Classe interna para tratamento de evento de botão private class ListenerbotaoImagem implements ActionListener { // Método de manipulação do evento public void actionPerformed( ActionEvent event ) { JOptionPane.showMessageDialog( null, "Você pressionou um botao com imagem"); } } // fim da classe interna //classe ExemploBotao.java... botao1.addActionListener(new ListenerBotaoImagem());...

6 Como funciona o Tratamento de eventos

7 Listeners e Tratamento de Eventos Como o tratador de eventos foi registrado? o registro se deu no comando: botao1.addActionListener( new ListenerBotaoImagem()); Eles adiciona o handler de Button (ListenerBotaoImagem) como sendo um listener para o objeto botao1. Como o componente GUI sabe que deve chamar actionPerformed() em vez de outro método de tratamento de eventos? Cada JComponent suporta vários tipos de eventos (de mouse, de teclas e outros). Quando ocorre um evento, ele é despachado para os ouvintes de eventos do tipo apropriado.

8 Tratamento de Eventos O mecanismo de tratamento de eventos possui três partes: A origem do evento. O objeto do evento. O “ouvinte” (listener) do evento.

9 Tratamento de Eventos A origem do evento é o componente GUI com o qual o usuário interage; O objeto evento encapsula as informações sobre o evento que ocorreu. As informações incluem uma referência para a origem do evento e quaisquer informações específicas que possam ser requeridas pelo listener; O listener recebe notificações de que um evento ocorreu permitindo que este realize determinada ação;

10 Tratamento de Eventos O programador precisa executar duas tarefas para processar um evento da GUI com o usuário em um programa: registrar um listener para determinado componente GUI; Implementar um método de tratamento de evento, também chamados de tratadores de eventos.

11 Listeners e Tratamento de Eventos Listeners são definidos por interfaces e podem estar aptos a tratar mais de um tipo de evento. Quando um listener tem um de seus métodos chamados, ele recebe um parâmetro (objeto) que descreve o evento ocorrido. Cada tipo de evento tem uma interface listener de eventos correspondente. Por exemplo, ActionEvents são tratados por ActionListeners, MouseEvents por MouseListeners (e MouseMotionListeners) e KeyEvents por KeyListeners.

12

13

14 Implementando um ActionListener Definindo a classe que implementa a interface do Listener Registrando o Listener: class MeuListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("Botão pressionado"); }... JButton botao = new JButton("Ok"); botao.addActionListener(new MeuListener());...

15 Implementando um WindowListener import java.awt.event.WindowEvent; import java.awt.event.WindowListener; class MeuListener implements WindowListener { public void windowOpened(WindowEvent e) { } public void windowClosing(WindowEvent e) { System.out.println("Janela sendo fechada"); } public void windowClosed(WindowEvent e) { } public void windowIconified(WindowEvent e) { } public void windowDeiconified(WindowEvent e){ } public void windowActivated(WindowEvent e){ } public void windowDeactivated(WindowEvent e) { } }

16 Adaptadores No caso anterior, seis implementações seriam vazias pois só desejávamos responder a um único evento. Como essa é uma situação comum, o pacote event define adaptadores para todas as interfaces de listeners que têm mais de um método. Um adaptador é uma classe que implementa o listener e dá implementações vazias para todos os métodos.

17 Voltando ao Exemplo... class MeuListener extends WindowAdapter { public void windowClosing(WindowEvent e) { System.out.println("Janela sendo fechada"); }


Carregar ppt "Programação em Java JButton e Tratamento de Eventos Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores."

Apresentações semelhantes


Anúncios Google