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



Documentos relacionados
Java First-Tier: Aplicações. Abstract Window Toolkit (AWT) Construção de Interfaces com Swing (I) Swing: Características

Interface Gráficas Parte I. Bruno Crestani Calegaro

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

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

Curso de Aprendizado Industrial Desenvolvedor WEB

Pacote Java Swing Parte 1

8. Interfaces Gráficas de Usuário

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

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

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

Técnicas de Programação II

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

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

Programação Orientada a Objetos II

Interface Gráfica. Prof. Marcelo Cohen

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

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

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

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

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

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

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

Interfaces Gráficas (GUIs) em Java usando Swing

Desenvolvimento de Aplicações Desktop

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

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

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

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

Programação Orientada a Objetos II

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

Curso Java Starter. 1

Capítulo 12 Eventos de interacção

Construção de Interfaces Gráficas

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

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

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

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

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

Programação Orientada a Objetos

JFC/Swing. LPGII - Java Interface Gráfica JFC/Swing. Introdução JFC / Swing. Introdução JFC / Swing

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

Interfaces Gráficas com Swing. Professor Leonardo Larback

Agenda. JFC (Java FoundaNon Classes) Interfaces Gráficas: layout manager JFC. Componentes do Swing. Pluggable Look and Feel

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

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

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

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

1 Criando um aplicativo visual em Java

Programação Orientada a Objetos

Sumário Introdução à 3a. Edição Introdução Dia 1 - Conceitos Iniciais Dia 2 - Bem-vindo ao Mundo Real... 43

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

Tratamento de Eventos

MÓDULO 4 SWING Parte 3

Especialização em Engenharia de Software - CEUT

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

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

Capítulo 23. às s Interfaces Gráficas. Introdução. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Desenvolvendo aplicações

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

Linguagem Técnica de Programação 2. Prof. Sancrey Rodrigues Alves Ano 2015

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

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

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

Programação Visual em Java

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

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

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

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

Interfaces Gráficas (GUIs) em Java usando Swing

PERES JULIAO CORGOSINHO BRUNO BORGES LEMOS DE OLIVEIRA RAFAEL REIS GOMES

Programação Orientada a Objetos Flávio de Oliveira Silva 217

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

Interfaces Gráficas. Componentes Gráficos Gestores de Posicionamento Manipuladores de Eventos. (Livro Big Java, Late Objects Capítulos 10 e 11)

Criação de Applets com o JBuilder Professor Sérgio Furgeri

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

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

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

Arquitetura de APIs Gráficas do JavaDTV LWUIT e DTV-UI

Modelagemde Software Orientadaa Objetos com UML

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

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

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

Linguagem de Programação II GUI Interface Gráfica com o Usuário

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Transcrição:

Programação Java Construção de Interfaces com Swing (I) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Abstract Window Toolkit (AWT) Peer-based Delega ao toolkit nativo a criação de elementos gráficos Look & feel da plataforma de execução Limitações Falta de consistência entre plataformas Denominador comum para atender a todas as plataformas Bugs diferentes em plataformas diferentes Write once, test everywhere 2 1

Swing versus AWT Non-peer-based GUI toolkit Conjunto maior de elementos Mais funcionalidade Maior consistência de uso entre plataformas Mais robusto, maior portabilidade Pacote javax.swing Pacote de extensão no Java 1.1 Incorporado como pacote básico no Java 2 3 Swing: Características Componentes leves Não substitui integralmente o AWT Estende o AWT Diagramadores & Listeners Look & Feel configurável Windows, Motif, Metal Double-buffering automático Arquitetura MVC 4 2

Arquitetura MVC O Swing adota uma arquitetura conhecida como Model-View-Controller (MVC) Modelo = dados/conteúdo estado de um botão, texto Visão = aparência cor, tamanho Controle = comportamento reação a eventos 5 Interação entre os objetos MVC Model atualiza notifica lê Controller View atualiza 6 3

Hierarquia de Classes Object Component Container Window Frame JFrame JComponent JLabel JAbstractButton JButton JToggleButton... 7 Top Level Containers Todo programa que utiliza componentes Swing tem pelo menos um TLC raiz de uma containment hierarchy Todo TLC possui um content pane que contém os elementos visíveis opcionalmente, uma menu bar JFrame, JDialog, JApplet aplicaçõestipicamente possuempelo menos uma hierarquia com um JFrame como raiz (janela principal) applets Swing contémuma hierarquia com JAppletcomo raiz 8 4

Estrutura de um JFrame The Java TM Tutorial 9 Camadas do JFrame RootPane gerencia as demais camadas botão default LayeredPane Contém a menu bar e o ContentPane Pode conter subcamadas (Z order) ContentPane contém os componentes visíveis GlassPane invisível por default interceptação de eventos/pintura sobre uma região 10 5

Exemplo de JFrame JFrame f = new JFrame("Teste"); f.setdefaultcloseoperation(jframe.exit_on_close); Container cp = f.getcontentpane();... cp.add(...);... f.pack(); f.show(); 11 Botões de Dois Estados 12 6

Hierarquia JComponent JAbstractButton JButton JMenuItem JToggleButton JRadioButton JCheckBox 13 Classe JRadioButton Modela um botão de escolha que pode ser marcado e desmarcado Objetos JRadioButton são tipicamente organizados em grupos Um único botão do grupo pode estar marcado em um dado momento 14 7

Métodos de JRadioButton JRadioButton(String label) JRadioButton(String label, boolean state) boolean isselected() void setselected(boolean state) 15 Classe ButtonGroup Cria um escopo de exclusão para um grupo de botões Basta criar um ButtonGroup e adicionar a ele os JRadioButtons que compõem o grupo 16 8

Métodos de ButtonGroup void add(abstractbutton b) ButtonModel getselection() boolean isselected(buttonmodel m) void setselected(buttonmodel m, boolean state) 17 Exemplo de JRadioButton JFrame f = new JFrame("Teste"); f.setdefaultcloseoperation(jframe.exit_on_close); JRadioButton bm = new JRadioButton("Masculino,true); JRadioButton bf = new JRadioButton("Feminino"); ButtonGroup bg = new ButtonGroup(); bg.add(bm); bg.add(bf); Container cp = f.getcontentpane(); cp.setlayout(new FlowLayout()); cp.add(bm); cp.add(bf); f.pack(); f.show(); 18 9

Classe JCheckBox Modela um botão de escolha que pode ser marcado e desmarcado 19 Métodos de JCheckBox public JCheckBox(String label) public JCheckBox(String label, boolean state) public boolean isselected() public void setselected(boolean state) 20 10

Exemplo de JCheckBox JFrame f = new JFrame("Teste"); f.setdefaultcloseoperation(jframe.exit_on_close); JCheckBox ci = new JCheckBox("Inglês",true); JCheckBox ce = new JCheckBox("Espanhol",true); JCheckBox cf = new JCheckBox("Francês"); Container cp = f.getcontentpane(); cp.setlayout(new FlowLayout()); cp.add(ci); cp.add(ce); cp.add(cf); f.pack(); f.show(); 21 Elementos de Edição de Texto 22 11

Classe JTextComponent Classe abstrata que modela o que há de comum entre diferentes elementos de edição de texto public void settext(string t) public String gettext() public void seteditable(boolean b) 23 Elementos de Edição de Texto JEditorPane JTextArea JTextPane The Java TM Tutorial 24 12

Classe JTextField Cria um campo de edição de texto de uma linha JTextField() JTextField(String text) JTextField(int columns) JTextField(String text, int columns) void setcolumns(int columns) 25 Classe JPasswordField Estende JTextField Caracteres digitados não são exibidos JPasswordField() JPasswordField(int columns) JPasswordField(String text, int columns) char[] getpassword() void setechochar(char c) 26 13

Classe JTextArea Cria um campo de edição de texto com múltiplas linhas JTextArea(int rows, int columns) JTextArea(String text, int rows, int columns) void append(string t) void insert(string t, int pos) void setlinewrap(boolean wrap) void setwrapstyleword(boolean word) 27 Classe JTextPane Componente de texto que suporta atributos representados graficamente (styled text) Permite o uso de diversas fontes no texto Permite a inclusão de imagens e de outros componentes 28 14

Molduras 29 Bordas O Swing permite a criação de bordas (molduras) envolvendo componentes O métodosetborder de JComponent permite emoldurar um componente com uma borda 30 15

Exemplos de Bordas The Java TM Tutorial 31 Mais exemplos... The Java TM Tutorial 32 16

BorderFactory As bordas do Swing foram projetadas para serem compartilhadas Ao invés de criar explicitamente uma instância de uma das classes de bordas, deve-se usar um dos métodos de BorderFactory para obter uma instância compartilhada de um tipo de borda 33 Métodos de BorderFactory static Border createlineborder(color color) static Border createetchedborder() static TitledBorder createtitledborder(string t) static TitledBorder createtitledborder(border b, String t) 34 17

Painéi éis, Bordas s e BotõesB JCheckBox JRadioButton 35 18