Introdução à Programação. Interfaces Gráficas



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

Programação Gráfica em Java.

Tratamento de Eventos

Caso não exista nenhum listener registado no objecto que gera o evento, este não terá qualquer efeito.

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

Desenvolvimento de Aplicações Desktop

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

MÓDULO 4 SWING Parte 3

Programação Orientada a Objetos

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

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

Interface com o Usuário (UI) UIs Desacopladas (2/3) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos

Programação Orientada a Objetos em Java. GUI Graphical User Interface

Sistema de Recursos Humanos

Curso de Aprendizado Industrial Desenvolvedor WEB

Técnicas de Programação II

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

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v

Prof. Jhonatan Fernando

Especialização em Engenharia de Software - CEUT

Jogo Da Velha. - Parte 1 - Fazendo a parte gráfica do jogo da Velha

Capítulo 12 Eventos de interacção

Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas (GUIs- Graphical User Interface)

JCheckbox JRadioButton JComboBox JList JMenu... Alguns componentes já vistos em aula JButton JLabel JTextField

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

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Exercícios 07 Introdução à POO (Interface Gráfica)

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

JTABLE STUDENT CONTROL JSC Gil Eduardo de Andrade / Emílio Rudolfo Fey Neto

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Delphi 7 Aula 01 Área do Triângulo

8. Interfaces Gráficas de Usuário

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

Interface Gráfica. Prof. Marcelo Cohen

Interface Gráfica com o Usuário (GUI) Profa. Isabel Harb Manssour (Material adaptado das aulas da Profa. Luciana Nedel e do Prof.

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

Programação Orientada a Objetos II

Pacote Java Swing Parte 1

Criação de formulários no Sphinx

Aula 11: Interfaces gráficas (1/2): elementos de interface Swing

Scriptlets e Formulários

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Is Event Dispatcher Threade (Animation)

1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo:

Desenvolvendo aplicações

Interface Gráficas Parte I. Bruno Crestani Calegaro

Entender princípios de projeto. Capacitação para construir GUIs. Entender os pacotes que contém componentes de GUI, e as classes e interfaces de

Programação Orientada a Objetos II

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

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

Versão 8.2C-01. Versão Final da Apostila de Novidades

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

Manual do Klipper. Philip Rodrigues Carsten Pfeiffer Tradução: Marcus Gama Tradução: André Marcelo Alvarenga

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Introdução à Tecnologia Java 02/2012. Java Aula 04 MDI. 05/09/2012 Celso Olivete Júnior.

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

Módulo Domínio Atendimento - Versão 8.0A-06

Programação Java. Construção de Interfaces com Swing (I)

Eclipse IDE Dá-se importância aos antepassados quando já não temos nenhum. Francois Chateaubriand

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

LINGUAGEM ORIENTADA A OBJETOS

Ambiente Virtual de Aprendizagem Moodle

Curso Java Starter. 1

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Questão Essência do Excel

Criando uma agenda simples com NetBeans 6.5

Sistema de Digitalização e Gerenciamento de Arquivos On-Line

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Orientação a Objetos

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation

TELA PRINCIPAL. Exibe uma lista de configurações de efeitos disponíveis. A visualização pode ser filtrada por: Aplicação, Cliente e Categoria.

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

Laboratório de Programação I

Guia rápido para configuração e geração do SPED Contábil

Java TM e o Modelo de Objetos

Programas eram lineares e com poucos módulos (Programação estruturada) Aumento da complexidade dos sistemas e difícil reusabilidade dos mesmos


Técnicas de Programação II

Orientação a Objetos Programação em C++

Desenvolvimento de um aplicativo básico usando o Google Android

Prof. Fernando V. Paulovich 3 de maio de SCC Computação Gráca

AULA 6 - Operações Espaciais

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

1 Criando um aplicativo visual em Java

Aplicações Gráficas com AWT

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.

Estilos de Interação

Programação. 3 Período

Lab - Agende uma tarefa usando a GUI e o comando at no Windows 7

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Implementando uma Classe e Criando Objetos a partir dela

II Torneio de Programação em LabVIEW

Natureza do Software e dos Sistemas

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Computação II Orientação a Objetos

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS COTAS DE DISCO. Professor Carlos Muniz

Factory Method. Edeyson Andrade Gomes

Java Exemplo MDI. Tela Principal

Gerenciadores de Layouts

Transcrição:

Introdução à Programação Interfaces Gráficas

Tópicos da Aula Hoje vamos ver conceitos mais avançados de Interfaces Gráficas Elementos de uma GUI Componente Eventos Listeners Padrão Observer Painel Exemplos com MiniJava Exemplos com API gráfica de Java (Swing) 2

GUI Uma GUI em Java geralmente têm 3 tipos de objetos Componentes Eventos Listeners Estes três tipos de objeto interagem para prover um comportamento dinâmico a interface gráfica 3

Componentes Podem ser componentes elementares: Podem ser componentes que armazenam e organizam outros componentes (containers): janela painel 4

Eventos e Listeners Um evento é um objeto que corresponde a um acontecimento que propicia uma ação em resposta Clique ou movimento do mouse, pressionar um botão, pressionar uma tecla, etc Eventos, freqüentemente, correspondem a ações do usuário, porém nem sempre Listeners são objetos que esperam pelo acontecimento de um evento para responder com uma ação 5

Eventos e Listeners Event Componente Listener Um componente pode gerar um evento Um listener é definido para responder ao evento Quando um evento ocorre, um componente chama o método apropriado do listener, passando o objeto que representa o evento 6

Desenvolvendo uma GUI Geralmente, utilizamos componentes e eventos predefinidos em classes de alguma biblioteca gráfica Java (ex: MiniJava) Portanto, geralmente, para criar programas em Java com GUI, devemos: Instanciar e configurar componentes Implementar listeners para os eventos desejados Estabelecer as relações entre os listeners e componentes que geram os eventos 7

Padrão Observer Um ou mais objetos chamados de observadores (observers) se registram ou são registrados para monitorar eventos gerados pelo objeto observado (subject) Objeto Observado, geralmente, permite: Adicionar ou remover observers Notificar algum evento para os observers Objeto Observer, geralmente, permite: Ser notificado Executar uma ação em resposta ao evento 8

Padrão Observer Benefício: Desacoplamento entre observado e observador Observado não precisa saber muito sobre observador, apenas permitir ser observado e repassar eventos GUIs em Java utilizam padrão Observer: Componentes são os observados Listeners são os observadores 9

Padrão Observer em MiniJava Classe Window Containers são observados e observadores ao mesmo tempo Component <interface> ClickListener clickevent() Window 10

Uso de Panels Container Pode conter outros componentes Pequenas partes de uma janela Janela pode ser composta de múltiplos painéis Módulos independentes

Panel - Exemplo JanelaPrincipal.java

public JanelaPrincipal extends Window { public JanelaPrincipal(){ super("janela Principal"); pc = new PainelCor(); pc.setvisible(false); this.include(pc);... pt = new PainelTextfield(); pt.setvisible(false); this.include(pt);... Panel - Exemplo

public void clickevent(component e){ if(e == menutextfield){... Panel - Exemplo pc.setvisible(false); pt.setvisible(true); this.setsize(pt.getwidth(), pt.getheight());

Mais Listeners Componentes não precisam implementar comportamento de listeners Comportamento não se limita a ficar dentro da classe ClickListener ItemStateListener Eventos definidos para cada componentes Não somente da janela inteira Vários listeners (ex: ComboBox) Veja PainelCombo.java

Classe PanelCombo

Classe ComboStateAdapter class ComboStateAdapter implements ItemStateListener{ private PainelCombo cmb; public ComboStateAdapter(PainelCombo p){ cmb = p; public void stateevent(component e){ cmb.acaostate(); public void stateevent(){ Ligando o observador com o observado 17

Classe ComboClickAdapter class ComboClickAdapter implements ClickListener{ private PainelCombo cmb; public ComboClickAdapter(PainelCombo p){ cmb = p; public void clickevent(component e){ cmb.acaoclick(); public void clickeventevent(){ Ligando o observador com o observado 18

Classe PainelCombo public class PainelCombo extends Panel{ private ComboBox combo; private Label label1; private Label label2; private int contadorclick; public PainelCombo(){ combo = new ComboBox(); Registrando os listeners combo.additem("aaa"); combo.additem("bbb"); combo.addclicklistener(new ComboClickAdapter(this)); combo.additemstatelistener(new ComboStateAdapter(this));... public void acaostate(){ label1.settext(combo.getselecteditem().tostring()); public void acaoclick(){ contadorclick++; Comportamentos label2.settext("click:"+contadorclick); serão invocados 19 pelos listeners

javax.swing Pra quem quiser mais... Mais recursos Mais classes Maior customização Disponível na API Java Eventos: análogo a eventos em MiniJava (ActionListener)

Exemplo de Janela com Múltiplos Painéis com Swing public class JanelaPrincipalComSwing extends JFrame implements ActionListener { private PainelCorComSwing pc; private PainelTextfieldComSwing pt; private JMenuBar barra; private JMenu menu; private JMenuItem menutextfield; private JMenuItem menucor; public JanelaPrincipalComSwing(){ pc = new PainelCorComSwing(); pc.setlocation(0,20); this.add(pc); barra = new JMenuBar(); menu = new JMenu("Painéis"); menucor = new JMenuItem("Painel Cor"); menucor.addactionlistener(this); this.setjmenubar(barra); barra.add(menu); menu.add(menucor); this.setvisible(true); Parecido com Window de MiniJava, mas não implementa listener Listener para eventos de ação menucor registra esta janela como listener 21

@Override public void actionperformed(actionevent e) { Exemplo de Janela com Múltiplos Painéis com Swing if(e.getsource() == menutextfield){ pc.setvisible(false); pt.setvisible(true); this.setsize(pt.getwidth(), pt.getheight()); else if(e.getsource() == menucor){ pc.setvisible(true); pt.setvisible(false); this.setsize(pc.getwidth(), pc.getheight()); Este método deve ser implementado para o ActionListener Método que retorna o componente que gerou o evento 22

Referências MiniJava Java http://www.cin.ufpe.br/~if669/index.php/minijava http://java.sun.com/reference/api/

Resumindo Elementos de uma GUI Componente Eventos Listeners Interação entre elementos de uma GUI Padrão Observer Painel Separando o listener do componente Exemplos com MiniJava Exemplos com API gráfica de Java (Swing) 24