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



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

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

8. Interfaces Gráficas de Usuário

MÓDULO 4 SWING Parte 3

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

Pacote Java Swing Parte 1

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

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

Técnicas de Programação II

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

Fundamentos de GUIs. João Carlos Pinheiro. Última Atualização Junho / 2004 Versão: 3.0

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

Desenvolvimento de Aplicações Desktop

Interface Gráficas Parte I. Bruno Crestani Calegaro

Programação de Interfaces Gráficas. Aula 1. Carlos Eduardo de Carvalho Dantas

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

Construção de Interfaces Gráficas

Programação Orientada a Objetos II

Tratamento de Eventos

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

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

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

Interface Gráfica 2. E/S pode ser feita por interface gráfica Biblioteca Swing. javax.swing.*

Curso de Aprendizado Industrial Desenvolvedor WEB

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

Programação Orientada a Objetos II

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

Programação Orientada a Objetos

Curso Java Starter. 1

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

Interface Gráfica. Prof. Marcelo Cohen. (material da Profa. Luciana Nedel) Graphical User Interface (GUI)

Programação Gráfica em Java.

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

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

Aplicações Gráficas com AWT

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

Programação Visual em Java

Natureza do Software e dos Sistemas

1 Criando um aplicativo visual 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)

Interfaces Gracas em Java

Linguagem Java - Prof. Luciana Porcher Nedel 1. Um container genérico e visual. Ela trabalha em cooperação com o controle de layouts.

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

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

Arquivos. Prof. Leonardo Barreto Campos 1

Componentes GUI: Parte by Pearson Education do Brasil

{ System.exit(0); Exemplo (WindowAdapter) import java.awt.*; import java.awt.event.*;

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

Construção de Interfaces Gráficas - Introdução

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

Componentes Parte 01

Interface Gráfica. LPG II Java Interface Gráfica AWT. Introdução. AWT - Abstract Window Toolkit

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

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:

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

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

Desenvolvendo aplicações

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

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

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Programando GUIs

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

JFC/Swing. Java Avançado Interface Gráfica JFC/Swing. Introdução JFC / Swing. Introdução JFC / Swing

API Swing Java. 1. Introdução. 2. Objetivos. 3. Surgimento do Swing. André Scarmagnani 1, Matheus Madalozzo 1, Miguel Diogenes Matrakas 1

Java Linguagem de programação

Programação. 3 Período

AULA 10 - CCT0024 Linguagem de Programação Objetivos da aula. Janelas para leitura e exibição de textos

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

Curso de Java Módulo II Swing Fábio Mengue Centro de Computação - Unicamp

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

TIC - Programação Visual. Componentes. Prof. Edwar Saliba Júnior Setembro de Unidade 14 Componentes 1

Roteiro para criação de Applet

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

Interfaces Gráficas: Interações Complexas

Especialização em Engenharia de Software - CEUT

Interface Gráfica Swing. Leonardo Gresta Paulino Murta

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

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

Capítulo 12 Eventos de interacção

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

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

Gerenciadores de Layouts

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

Criação de telas com Swing

Interfaces Gráficas com Swing. Professor Leonardo Larback

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

IDE (Integrated Development Environment) / RAD (Rapid Application Development)

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2013/1

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

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

Interface Gráfica. Prof. Marcelo Cohen

Elaborando as Interfaces Aulas 43, 44 e 45

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

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

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

AWT Versus Swing. Java Deployment Course: Aula 5. por Jorge H C Fernandes (jhcf@di.ufpe.br) CESAR-DI-UFPE Recife, 1999

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

Cronograma de Aulas 2º Módulo 11/07/2009 a 05/09/2009

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

Transcrição:

Programação III Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br Deitel Capítulo 11 : Imagens gráficas e Java 2D Capítulo 12 : Componentes Básicos Capítulo 13 : Componentes Avançados GUI - Graphical User Interface Pacote javax.swing da plataforma Java 2 São componentes Java puros 2/2/2007 2 Componente JLabel JTextField JButton Descrição Textos não editáveis, rótulo, legenda Entrada e exibição de dados Componente que aciona um evento JCheckBox Dois estados : Selecionado, não selecionado JComboBox List drop-down JList JPanel Lista de itens. Escolha simples ou múltipla Contêiner (abrigar componentes) Ao contrário dos componentes AWT os componentes swing permitem que o aplicativo mantenha a mesma aparência e comportamento em qualquer plataforma 2/2/2007 3 2/2/2007 4 Swing - Hierarquia de Classes java.lang.object java.awt.component java.awt.container java.swing.jcomponent 2/2/2007 5 A classe Component define métodos que podem ser aplicados a um objeto de qualquer subclasse de Component. Exemplo : paint e repaint As operações comuns para a maioria dos componentes GUI estão na classe Component. Container é uma coleção de componentes relacionados Em frames e Applets anexa-se componentes a um painel, ou sejam um Container 2/2/2007 6 1

Swing - Exemplo 1 : ExecutarFrameComponente.java import javax.swing.*; import java.awt.event.*; public class ExecutarFrameComponente { public static void main( String args[] ) { FrameComponente fc = new FrameComponente(); fc.addwindowlistener( new WindowAdapter() { public void windowclosing( WindowEvent e ) { System.exit( 0 ); } } ); Swing - Fechando uma janela Deitel 433 [483] Evento gerado quando o usuário fechar a janela (frame) O método addwindowlistener registra o ouvinte de evento da janela Deitel 606[684-685] O argumento é uma referência a um objeto WindowsListener (java.awt.event). Utilizamos o método windowclosing Cria-se uma classe interna anônima e o objeto desta classe ( new WindowAdapter ()) é passado para addwindowlistener Controle de Eventos Deitel 538 [610] 2/2/2007 7 2/2/2007 8 Swing - Fechando uma janela WindowAdapter implementa uma interface WindowListener O método windowclosing () está dentro da classe anônima interna O código a ser executado é : System.exit(0) Que encerra o aplicativo. 2/2/2007 9 Swing - Exemplo 2 : FrameComponente.java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class FrameComponente extends JFrame { private Container c; private JLabel label1, label2; private JTextField tf; private JButton button1; private Icon icone ; 2/2/2007 10 Swing - Exemplo 2 : FrameComponente.java public FrameComponente() { super( "Testando Componentes" ); c = getcontentpane (); c.setlayout (new FlowLayout ()); label1 = new JLabel ("Nome : "); tf = new JTextField ("Digite seu nome aqui", 30); button1 = new JButton ("Click"); icone = new ImageIcon ("bug1.gif"); 2/2/2007 11 Swing - Exemplo 2 : FrameComponente.java this.button1.addactionlistener ( new ActionListener () { public void actionperformed (ActionEvent e) { FrameComponente.this.label2.setText (FrameComponente.this.tf.getText ());} ); label2 = new JLabel ("Seu nome"); label1.settooltiptext ("Seu nome por favor!"); c.add (label1); c.add (tf); c.add (button1); c.add (label2); 2/2/2007 12 2

Swing - Exemplo 2 : FrameComponente.java label1.seticon (icone); tf.requestfocus (); // Focalizando o textfield setsize (800,600); show (); Frame : Janelas Deitel 605 [684] getcontentpane () : Método da classe Frame que obtem o container relacionado ao frame; Método da classe Container : add Adiciona componentes setlayout Altera o Gerenciador de layout Classes de layout Deitel 571-578, 627-643 [643-650, 707-719] FlowLayout BorderLayout GridLayout 2/2/2007 13 2/2/2007 14 Classe ImageIcon (javax.swing) implementa a interface Icon Controle de evento do botão button.addactionlistener registra o ouvinte de evento do botão O argumento é uma referência a um objeto ActionListener () (java.awt.event). actionperformed (ActionEvent e) evento que ocorre quando clicamos no botão Um ActionEvent pode ser processado por qualquer objeto ActionListener () 2/2/2007 15 O método settext () altera o texto (caption) do componente O método gettext () obtém o texto do componente Método settooltiptext mostra uma dica na tela quando o usuário posiciona o mouse sobre o componente O método requestfocus () coloca o foco no componente desejado O icone Icon é relacionado ao componente label no comando : label1.seticon (icone); 2/2/2007 16 Métodos do Frame Deitel 606 [684-685] setsize (width, height) largura, altura show () Mostrar o frame dispose () Fechar o frame Exercícios 1) Crie um programa que contenha : Um Label Um TextField Um Button Quando o botão for acionado mostrar o texto contido em TextField numa caixa com o comando : JOptionPane.showMessageDialog Coloque também um gif associado ao label 2/2/2007 17 2/2/2007 18 3

// Creating Checkbox buttons. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class FrameCheckBox extends JFrame { private JTextField t; private JCheckBox bold, italic; public FrameCheckBox() { super( "JCheckBox Teste" ); Container c = getcontentpane(); c.setlayout(new FlowLayout()); t = new JTextField( "Digite uma frase", 20 ); t.setfont( new Font( "TimesRoman", Font.PLAIN, 14 ) ); // create checkbox objects bold = new JCheckBox( "Negrito" ); // Bold italic = new JCheckBox( "Italico" ); // Italic 2/2/2007 19 2/2/2007 20 c.add( t ); c.add( bold ); c.add( italic ); CheckBoxHandler handler = new CheckBoxHandler(); // Evento único para os dois Check s bold.additemlistener( handler ); italic.additemlistener( handler ); setsize( 275, 100 ); show(); } 2/2/2007 21 private class CheckBoxHandler implements ItemListener { private int valbold = Font.PLAIN; private int valitalic = Font.PLAIN; public void itemstatechanged( ItemEvent e ) { if ( e.getsource() == bold ) if (e.getstatechange() ==ItemEvent.SELECTED) valbold = Font.BOLD; else valbold = Font.PLAIN; 2/2/2007 22 if ( e.getsource() == italic ) if (e.getstatechange() ==ItemEvent.SELECTED) valitalic = Font.ITALIC; else valitalic = Font.PLAIN; t.setfont(new Font( "TimesRoman", valbold + valitalic, 14 ) ); t.repaint(); } 2/2/2007 23 JCheckBox e JRadioButton são subclasses de JToggleButton setfont : médodo que altera a fonte do componente Deitel 505 [577] Font é uma Classe que recebe no construtor : Font (String name, int style, int size)); Nome da fonte, estilo e tamanho Tipos de style : Font. (BOLD, ITALIC, PLAIN) Deitel 550 [619-624] Exemplo : new Font( "TimesRoman", Font.PLAIN, 14 ) 2/2/2007 24 4

ItemEvent é um evento tratado por ItemListener No método itemstatechanged colocamos o código desejado que será executado ao acionar o Checkbox O handler é o processo que contem o método. Este handler é associado ao evento additemlistener do componente. Detalhes Deitel 544 [615] e.getsource() contém o componente que foi acionado (e.getstatechange() ==ItemEvent.SELECTED) Checa se o CheckBox está selecionado ou não Exercícios 2) Analise a classe FrameRadioButton.java conforme a análise feita com a classe Ver também Deitel 550 a 553 [619-624] 3) Analise o exemplo de JComboBox. Deitel 553 a 555 [624-627] 4) Analise o exemplo de JList. Deitel 555 a 558 [627-629] 5) Analise o exemplo de Listas de Seleção Múltipla. Deitel 558 a 560 [629-631] 6) Analise o Exemplo dos Elevadores. 7) Analise o Exemplo da Biblioteca. 2/2/2007 25 2/2/2007 26 Exercícios 8) Crie um Frame que receba o Capital, a taxa e o tempo. O botão calcular deve executar o evento para mostrar o montante. M = c * (1 + i ) n 9) Crie um frame, com base na Classe Círculo, que leia o raio e as coordenadas x e y. Ao acionar um botão, mostre os dados em um TextArea e desenhe o circulo de acordo com o raio e as coordenadas. 2/2/2007 27 1) Qual a diferença entre componentes GUI, controles, widgets e windows gadgets. Deitel 533 [604] 2) O que significa look and feel? Deitel 534 [606] 3)Por que os componentes swing são vistos como peso leve? Deitel 534 [606] 4) Como funcionam os componentes peso pesado? Deitel 534 [606] 5) O que é peer? Deitel 534 [606] 6) Quais são os recursos (inclusive social) da swing que derivam da subclasse JComponent? Deitel 535 [607] 2/2/2007 28 7) O que é uma classe adaptadora? Deitel 434 [487] 8) O que é uma classe interna anônima? Qual a relação entre os códigos abaixo? Deitel 434 [487] new WindowAdapter ()... public class MyHandler extends WindowAdapter { 9) O que acontece quando criamos classes internas? Deitel 434 [487] 10) Quando ocorre uma interação com o usuário, um evento é automaticamente enviado para o programa. Verdadeiro ou Falso? Deitel 538 [609-610] 2/2/2007 29 11) O que é AWTEvent? Deitel 538 [610-611] 12) Cite algumas classes de eventos que derivam de java.util.eventlistener? Deitel 538-539 [610-611] 13) Os tipos de evento do pacote java.awt.event são ainda utilizados com os componentes Swing. Os eventos dos novos componentes Swing são definidos no pacote javax.swing.event. Verdadeiro ou Falso? Deitel 538 [610-611] 14) O que é um ouvinte e qual a sua função? Deitel 539 [611-612] 2/2/2007 30 5

15) O que é um tratador de evento e qual a sua função? Deitel 539 [611-612] 16) O que é um modelo de delegação de evento? Deitel 539 [611-612] 17) Quando um evento ocorre, o componente GUI com o qual o usuário interagiu. Deitel 539 [611-612] 18) Analise a classe TextFieldTest. Deitel 540-543 [612-615] 19) Por que os frames não é um componente peso leve? Deitel 605 [684] 2/2/2007 31 20) Qual a relação entre os frames e plataforma. Deitel 605 [684] 21) Além de ItemEvent.SELECTED de ItemEvent.getStateChange, qual a outra opção?. Deitel 550 [621] 22) Como funciona o tratamento de eventos do mouse? Deitel 560-563 [631-635] 23) Como funciona as classes adaptadoras? Deitel 563-568 [635-640] 24) Como funciona o tratamento de eventos do teclado? Deitel 568-571 [640-643] 2/2/2007 32 25) Como funcionam os painéis? Deitel 578-580, 594-602 [650-652] 25) Como funciona o JTextArea? Deitel 592-594 [669-672] 26) Como funciona o JSlider? Deitel 602-605 [680-684] 27) Como funciona o args de : public static void main (String args [])? Deitel 610 [689] 26) Como funciona os menus em Frames? Deitel 612-620 [690-697] 26) Como funciona a aparência e o comportamento plugável? Deitel 620-624 [700-704] 2/2/2007 33 27) Como funciona um sistema MDI? Deitel 624-627 [704-707] 2/2/2007 34 6