Adding User Interaction

Documentos relacionados
Programação Gráfica em Java.

MANIPULAÇÃO DE EVENTOS

Programação Gráfica em Java Alguns Componentes javax.swing

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

TRATAMENTO DE EVENTOS EM JAVA USANDO SWING. George Gomes Cabral

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

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

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Manipulando Eventos em Java

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

Criando interfaces com o usuário. Continuação

MÓDULO 4 SWING Parte 3

Tratamento de Eventos

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

Aula 2 Eventos do Mouse by Pearson Education do Brasil

Elaborando as Interfaces Aulas 43, 44 e 45

Aula Prática Criando Views e Controles

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

Elaborando as Interfaces Aulas 31, 32 e 33

LPII Programando uma Cálculadora Simples Módulo III

Aula 2 Even e to t s d o M ouse

Elaborando as Interfaces dos trabalhos das aulas 28, 29 e 30.

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

Módulo 7. Interface Gráfica com o Usuário GUI - Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

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

Aula 12 POO 1 Interface Gráfica no Java. Profa. Elaine Faria UFU

A classe JTextField

Vector Java. Empregado.java

use um cast para byte, como, por exemplo, gl.glcolor3ub((byte)0, (byte)0, (byte)255);

Componentes GUI A aparência e maneira como um usuário pode interagir com componentes AWT diferem de acordo com a plataforma. Componentes Swing permite

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Tratamento de Eventos em Programas com GUI - Graphical User Interface. Jorge H. C. Fernandes UFRN Junho de 2001

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Interfaces Gráficas com Swing. Professor Leonardo Larback

LINGUAGEM DE PROGAMAÇÃO II Criando uma Classe

Swing. Page 1. Swing. Prof. Anderson Augustinho Uniandrade

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Principais Classes Swing AWT

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof.

Prof. Fernando V. Paulovich 25 de julho de SCC Programação Orientada a Objetos

JAVA. Marcio de Carvalho Victorino. Interface Gráfica em Java (GUI)

Arquitetura de Tratamento de Eventos em Programas com GUI - Graphical User Interface

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

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

Desenvolvimento de Aplicações Desktop

Interface gráfica em Java: Swing e SWT

HABILITANDO A IDE DO ECLIPSE

Aplicações de Linguagem de Programação Orientada a Objeto

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

Programação Orientada a Objetos

Java AWT Objectos e Eventos. Label Button TextField Checkbox RadioButton Combobox

Aplicação Linguagem de Programação Orientada a Objeto

Introdução Interfaces (revisão) Delegação de eventos Tratamento de eventos Classes Adaptadoras Capturando Eventos nos Componentes Swing

JFrame. JLabel : Utilizado como rótulo para exibição de texto e ícones. Interface Gráfica de JAVA - Graphical User Interface (GUI)

Exemplo Threads com Swing:

Processo Básico: OO + Eventos. Java First-Tier: Aplicações. Construção de Interface gráfica. Exemplo. Exemplo. Exemplo. Hierarquia de Composição

Tecnólogo em Análise e Desenvolvimento de Sistemas

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 19, 20 e 21

Técnicas de Programação II

COM220 Aula 17: Interface Gráfica Containers Swing

Programação III. Interface Gráfica - Swing. Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br. Interface Gráfica - Swing

Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1)

PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Layout. Programação Orientada a Objetos Java. Prof. Geraldo Braz Junior. Baseado em material original de João Carlos Pinheiro CEFET/MA

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Crie dois pacotes: jogo e imagens Coloque as imagens da cobra, da fruta e da parede no pacote imagens Crie uma nova classe chamada Cobra no pacote

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

Programação Orientada a Objetos II

Java - Swing. Raphaela Galhardo raphaela@j2eebrasil.com.br

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

Elaborando as Interfaces dos trabalhos das aulas 25, 26 e 27.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

package br.com.cadastro.visao;

Teste de Software: Existe Isto? Jorge Fernandes Junho de 2004

Prof. Msc. Vladimir Camelo

Is Event Dispatcher Threade (Animation)

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

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Font size Animation FACULDADE DE TECNOLOGIA SENAC PELOTAS

Interfaces Gráficas POO. Prof. Márcio Delamaro

INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO. Centro de Informática de Ribeirão Preto - CIRP - USP

private void btapresentanomeactionperformed(java.awt.event.actionevent evt) {

Gerenciadores de Layout

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

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

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo

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

JTextArea JMenuBar JTable JDesktopPane e JInternalFrame

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 1- Interfaces Gráficas com Swing

Curso Java Starter. 1

Programação Orientada a Objetos com Java. Prof. Júlio Machado

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Construção de Interfaces Gráficas

Aplicações Gráficas com AWT

Transcrição:

Adding User Interaction if62c - Fundamentos de Programação 1/2014 professores Danillo Leal Belmonte (belmonte@utfpr.edu.br) e Robinson Vida Noronha (vida@utfpr.edu.br) 1

Estratégias Adicionar ações isoladas aos componentes. Criar classes específicas de ações e enviar instâncias dessas classes aos componentes. 2

Estratégias Isoladas em Componentes 3

O Listener do Mouse import javax.swing.jpanel; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MeuPainel extends JPanel { public MeuPainel() { super.addmouselistener( new MouseAdapter() { public void mousepressed(mouseevent e) { JOptionPane.showMessageDialog(null, "Clique em (" + e.getx() + ", " + e.gety() + ")" + " com o botao #" + e.getbutton()); ); 4

Métodos da Classe MouseAdapter A classe MouseAdapter disponibiliza ainda os seguinte métodos: void mouseclicked(mouseevent e) - Invoked when the mouse has been clicked on a component. void mouseentered(mouseevent e) - Invoked when the mouse enters a component. void mouseexited(mouseevent e) - Invoked when the mouse exits a component. void mousepressed(mouseevent e) - Invoked when a mouse button has been pressed on a component. void mousereleased(mouseevent e) - Invoked when a mouse button has been released on a component. 5

A Classe Janela, onde tudo ocorre... import java.awt.dimension; import java.awt.toolkit; import javax.swing.*; class Janela extends JFrame { private Dimension dimension; private int width = 640, height=480; public Janela(boolean fullscreen) {... private void centerwindow(){/*coloca a janela no centro*/ private void fullwindow() {/* tela cheia*/ 6

O Construtor da Classe Janela public Janela(boolean fullscreen) { /* Se fechar o formulário, encerra a aplicação*/ super.setdefaultcloseoperation(exit_on_close); /* Le as dimensões do display do equipamento do usuário.*/ dimension = Toolkit.getDefaultToolkit().getScreenSize(); if (fullscreen == true){ setundecorated(true); /* retira a borda*/ fullwindow(); /* método que estica o formulário */ else { centerwindow(); /* posiciona a janela no centro*/ 7

Definição o Local da Janela private void centerwindow() {setsize(width,height); /* width = 640, height = 480*/ int x = (int) ((dimension.getwidth() - this.getwidth()) / 2); int y = (int)((dimension.getheight() - this.getheight()) / 2); setlocation(x, y); private void fullwindow() { setlocation(0,0); setsize((int)dimension.getwidth(), (int)dimension.getheight()); 8

Exemplo de Uso da classe Janela public class Main { public static void main(string[] args) { Janela janela = new Janela(true); MeuPainel meupainel = new MeuPainel(); janela.add(meupainel); janela.setvisible(true); 9

Inserção de Botão e definição das suas ações 10

Eventos em Botão public class Main {! public static void main(string[] args) {!! Janela janela = new Janela(false);!! MeuPainel meupainel = new MeuPainel();!!!! JButton btsair = new JButton("Sair");!! btsair.addactionlistener (!!! new AbstractAction()!!! {public void actionperformed(java.awt.event.actionevent evt)!!! { if (JOptionPane.showConfirmDialog(null, "Deseja sair da aplicação?") == 0)System.exit(0);!!! );!! meupainel.add(btsair);!!!! janela.add(meupainel);!! janela.setvisible(true);! 11

Estratégia de Criação de Classes Específicas de Ações (programação orientada a eventos) 12

Criação e uso de uma classe filha de MouseAdapter 13

Classe Gerente de Mouse class GerenteMouse extends MouseAdapter { int cliquex, cliquey; JPanel j; public GerenteMouse(JPanel janela){j = janela; public void mousepressed(mouseevent evt) { public void mousereleased(mouseevent evt){ public void mouseclicked(mouseevent evt) { public void mouseentered(mouseevent evt) { public void mouseexited(mouseevent evt) { 14

Exemplo de Gerente de Mouse class GerenteMouse extends java.awt.event.mouseadapter { int cliquex, cliquey; JPanel j; public GerenteMouse(JPanel janela){j = janela; public void mousepressed(java.awt.event.mouseevent evt) { int r,g,b; r = (int)(255*math.random()); g = (int)(255*math.random()); b = (int)(255*math.random()); j.setbackground(new java.awt.color(r,g,b)); public void mousereleased(java.awt.event.mouseevent evt){ public void mouseclicked(java.awt.event.mouseevent evt) { public void mouseentered(java.awt.event.mouseevent evt) { public void mouseexited(java.awt.event.mouseevent evt) { 15

Uso do Gerente de Mouse public class Main {! public static void main(string[] args) {!! Janela janela = new Janela(false);!! MeuPainel meupainel = new MeuPainel();!!!! JButton btsair = new JButton("Sair");!! btsair.addactionlistener(!new AbstractAction()!!!! {@Override!!!! public void actionperformed(actionevent evt)!!!! { if (JOptionPane.showConfirmDialog(null!, "Deseja sair da aplicação?") == 0)System.exit(0);! );!!!! meupainel.add(btsair);!!!! JButton mudacor = new JButton("muda a cor");!! mudacor.addmouselistener(new GerenteMouse(meuPainel));!! meupainel.add(mudacor);!!!! janela.add(meupainel);!! janela.setvisible(true);! 16

Classe Acoes class Acoes implements java.awt.event.actionlistener { public void actionperformed(java.awt.event.actionevent evt) { if (evt.getsource() instanceof JButton ) { JButton quem = (JButton)evt.getSource(); if (quem.getactioncommand() == "Sair 2") System.exit(0); 17

Uso de instância da classe Acoes...!! JButton btsair2 = new JButton("Sair 2");!! btsair2.addactionlistener(new Acoes());!! meupainel.add(btsair2);... 18

Listener do Teclado class MonitoraTeclado implements java.awt.event.keylistener {! public void keypressed(keyevent e) {! public void keyreleased(keyevent e) {!!! public void keytyped(keyevent e) { 19

Exemplo de Listener de Teclado class MonitoraTeclado implements java.awt.event.keylistener {! public void keypressed(keyevent e) {!! if (e.getkeycode() == KeyEvent.VK_LEFT)!! { System.out.println("LEFT"); if (e.getkeycode() == KeyEvent.VK_RIGHT) {System.out.println("RIGHT"); if (e.getkeycode() == KeyEvent.VK_DOWN) {System.out.println("DWON"); if (e.getkeycode() == KeyEvent.VK_UP) {System.out.println("UP");!! public void keyreleased(keyevent e) {!!! public void keytyped(keyevent arg0)! {System.out.println("Voce pressionou : " + e); 20

Uso da classe MonitoraTeclado...... meupainel.addkeylistener(new MonitoraTeclado()); meupainel.setfocusable(true);... JTextField texto = new JTextField(20); texto.addkeylistener(new MonitoraTeclado()); meupainel.add(texto);... 21

Tarefa para sedimentar os conceitos Programar uma calculadora com interface gráfica que permita executar as quatro operações básicas (somar, subtrair, multiplicar e dividir). fim 22