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

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Swing Módulo II. Tiago Alves de Oliveira. Tiago Alves de Oliveira 1

Interface Gráficas Parte I. Bruno Crestani Calegaro

Interfaces Gráficas (GUIs) em Java usando Swing

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

Tiago Alves de Oliveira. Tiago Alves de Oliveira

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

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

Marcelo Henrique dos Santos

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

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

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 com Java. Prof. Júlio Machado

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

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

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

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

Programação Orientada a Objetos

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

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

Interfaces Gráficas com Swing. Professor Leonardo Larback

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

8. Interfaces Gráficas de Usuário

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

Abstract Window Toolkit (AWT) Peer based

Interfaces Gráficas (GUIs) em Java usando Swing

Orientação a Objetos

Curso de Aprendizado Industrial Desenvolvedor WEB

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

Módulo I Interface com usuário GUI

Módulo II Interface com usuário GUI

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

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

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

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

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

Componentes Parte 01

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

Desenvolvimento de Aplicações Desktop

Pacote Java Swing Parte 1

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

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

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

Linguagem de programação 2 GUI

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

JMENU, JDESKTOPPANE E JINTERNALFRAME

Criação de interfaces gráficas

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 Orientada a Objetos II

Técnicas de Programação II

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

Curso Java Starter. 1

Java Standard Edition (JSE)

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

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

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

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

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

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

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

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 3- Desenvolvendo Interfaces Mais Ricas

Componentes no Java SE

Marcelo Henrique dos Santos

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

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

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

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

Interface Gráfica - Swing

Módulo III Padrões GOF-VI: MVC

Arquivos. Prof. Leonardo Barreto Campos 1

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

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

Capítulo 12 Eventos de interacção

COM220 Aula 17: Interface Gráfica Containers Swing

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

Implementando componentes básicos com swing, utilizando NetBeans

Construção de Interfaces Gráficas

Objetivos do Capítulo

MÓDULO 4 SWING Parte 3

Interface Gráfica. Prof. Marcelo Cohen

Interface Gráfica. GUI (Graphic User Interface) AWT e Swing Containers e componentes Layouts. Linguagem Java - Prof. Luciana Porcher Nedel 1

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Modulo I Swing Básico

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

Criação de Aplicações GUI. Java JFC / Swing

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

A classe JTextField

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

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

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

Programação II. Cassio Diego

Orientação a Objetos

Aula Prática Criando Views e Controles

Implementando componentes básicos com swing, utilizando NetBeans

Linguagem de Programação Visual

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

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

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

Transcrição:

Java First-Tier: Aplicações 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 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 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 3 4 Arquitetura MVC Interação entre os objetos MVC O Swing adota uma arquitetura conhecida como Model-View-Controller (MVC) Model atualiza Modelo = dados/conteúdo estado de um botão, texto Visão = aparência cor, tamanho Controle = comportamento reação a eventos notifica View lê atualiza Controller 5 6 1

Hierarquia de Classes Top Level Containers Object Component Container Window Frame JFrame JComponent JLabel JAbstractButton JButton JToggleButton... 7 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ções tipicamente possuem pelo menos uma hierarquia com um JFrame como raiz (janela principal) applets Swing contém uma hierarquia com JApplet como raiz 8 Estrutura de um JFrame Camadas do JFrame 9 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 Exemplo de JFrame JFrame f = new JFrame("Teste"); f.setdefaultcloseoperation(jframe.exit_on_close); Container cp = f.getcontentpane();... cp.add(...);... f.pack(); f.show(); Botões de Dois Estados 11 12 2

Hierarquia JComponent JAbstractButton JButton JMenuItem JToggleButton JRadioButton JCheckBox 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 13 14 Métodos de JRadioButton Classe ButtonGroup JRadioButton(String label) JRadioButton(String label, boolean state) boolean isselected() void setselected(boolean state) 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 15 16 Métodos de ButtonGroup Exemplo de JRadioButton void add(abstractbutton b) ButtonModel getselection() boolean isselected(buttonmodel m) void setselected(buttonmodel m, boolean state) 17 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 3

Classe JCheckBox Modela um botão de escolha que pode ser marcado e desmarcado Métodos de JCheckBox public JCheckBox(String label) public JCheckBox(String label, boolean state) public boolean isselected() public void setselected(boolean state) 19 20 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(); Elementos de Edição de Texto 21 22 Classe JTextComponent Classe abstrata que modela o que há de comum entre diferentes elementos de edição de texto Elementos de Edição de Texto JEditorPane public void settext(string t) public String gettext() public void seteditable(boolean b) JTextArea JTextPane 23 24 4

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) 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) 25 26 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) 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 27 28 Bordas Molduras O Swing permite a criação de bordas (molduras) envolvendo componentes O método setborder de JComponent permite emoldurar um componente com uma borda 29 30 5

Exemplos de Bordas Mais exemplos... 31 32 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 Métodos de BorderFactory static Border createlineborder(color color) static Border createetchedborder() static TitledBorder createtitledborder(string t) static TitledBorder createtitledborder(border b, String t) 33 34 Painéis, Bordas e Botões JCheckBox JRadioButton 35 6