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

Documentos relacionados
Gerenciamento de Layout

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

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

Tiago Alves de Oliveira. Tiago Alves de Oliveira

Gerenciadores de Layout

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

Programação II. Cassio Diego

JMENU, JDESKTOPPANE E JINTERNALFRAME

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

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

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

Interfaces Gráficas (GUIs) em Java usando Swing

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

8. Interfaces Gráficas de Usuário

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

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

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

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

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

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

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

Interface Gráficas Parte I. Bruno Crestani Calegaro

Gestores de Layout. Arranjo de elementos numa Janela

Interfaces Gráficas: Interações Complexas

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

Orientação a Objetos

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

Gerenciadores de Layouts

MÓDULO 4 SWING Parte 3

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

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

Gerenciadores de Layout: Layout de Borda, de Fluxo, de Grade, de Conjunto de Grades, de Caixa, do Cartão e Nulo

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

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

Interfaces Gráficas com Swing. Professor Leonardo Larback

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

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

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

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

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

COM220 Aula 17: Interface Gráfica Containers Swing

Curso de Aprendizado Industrial Desenvolvedor WEB

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

Interface Gráfica. Prof. Marcelo Cohen

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

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

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

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

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

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

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

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

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

Programação Orientada a Objetos

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

Interfaces Gráficas (GUIs) em Java usando Swing

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

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

Java Standard Edition (JSE)

Arquivos. Prof. Leonardo Barreto Campos 1

Programação Visual em Java

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

Elaborando as Interfaces Aulas 31, 32 e 33

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

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

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

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

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

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

Introdução a programação gráfica em Java com Swing

Programação Orientada a Objetos II

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

Principais Classes Swing AWT

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

Orientação a Objetos

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

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

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

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

Elaborando as Interfaces Aulas 43, 44 e 45

Componentes Parte 01

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

Java Deployment Course

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

Modulo I Swing Básico

Prof. Responsáveis Wagner Santos C. de Jesus

Programação por Objectos. Interfaces gráficas. Swing 1/52

Aula Prática Criando Views e Controles

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

Marcelo Henrique dos Santos

Top-Level Containers. Interface com o Usuário. de classes empregadas para implementar a interface com o usuário.

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

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

Interface gráfica em Java: Swing e SWT

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

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

HABILITANDO A IDE DO ECLIPSE

Transcrição:

Agenda Interfaces Gráficas: layout manager joao@ecomp.uefs.br JFC (Java FoundaNon Classes) Swing componentes Gerênciamento de Layout BoderLayout, FlowLayout,... Departamento de Ciências Exatas Universidade Estadual de Feira de Santana 1 JFC (Java FoundaNon Classes) JFC (Java FoundaNon Classes) grupo de classes para auxiliar no desenvolvimento de interfaces gráficas (GUIs) independente de plataforma JFC versus AWT e Swing AWT e Swing fazem parte do JFC Swing versus AWT AWT foi a solução adotada inicialmente, enquanto Swing é a plataforma atual Swing usa parte do AWT JFC Componentes do Swing componentes como botão e lista Pluggable Look and Feel Acessibilidade tecnologias assisnvas, como leitores de tela e displays Braille Java 2D tecnologias para incorporar gráficos e imagem Internacionalização suporte para aplicações que permitem interagir com usuários que falam diferentes línguas 2 3 Componentes do Swing Pluggable Look and Feel As figuras abaixo são extraídas de um mesmo programas com diferentes look and feel UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.WindowsLookAndFeel"); 4 5 1

Java 2D http://stendhalgame.org/ Swing Vários componentes listas, menus, áreas de texto, botões,... Os componentes são organizados em um hierarquia de armazenamento (containers) containers de nível mais alto, ex: JFrame containers intermediário, ex: JPanel Um container é um componente que pode conter outros componentes descendem da classe java.awt.container 6 7 Containers de nível mais alto Todo programa que unliza o Swing tem ao menos um container de nível mais alto O container de nível mais alto é quem provê todo o suporte para pintar os componentes e gerenciar os eventos Existem três container de nível mais alto JFrame (janela principal) JDialog (janela secundária) JApplet (executa dentre de um browser) 8 9 Containers de nível mais alto Todo container de nível mais alto tem um container de conteúdo (ContentPane) um container de menu (MenuBar) Frame MenuBar ContentPane JFrame JFrame é uma janela que tem uma borda, ltulo e botões para fechá- la e minimizá- la Aplicações para Desktop em Java unlizam ao menos um JFrame Métodos principais void settitle(string title): define um ltulo void setvisible(boolean v): torna o frame visível void setdefaultcloseoperation(int op) : realiza uma determinada operação ao fechar. Mais comum: JFrame.EXIT_ON_CLOSE 10 11 2

Container de conteúdo Todo container de nível mais alto contém um container de conteúdo (content pane) Os componentes (JBupon, JLabel,...) devem ser adicionados ao container de conteúdo e não ao container de nível mais alto! componentes são adicionados no container através do método add os containers unlizam um layout manager para posicionar os componentes adicionados Exemplo import javax.swing.*; import java.awt.*; public class HelloWorld { } public static void main(string[] args){ } JFrame frame = new JFrame("HelloWorld"); frame.setsize(100,100); frame.setdefaultcloseoperation(jframe.exit_on_close); JLabel label = new JLabel("Hello world!", Jlabel.CENTER); frame.getcontentpane().add(label); frame.setvisible(true); Container de nível mais alto Container de conteúdo 12 13 JComponent Componentes JComponent é a classe base para todos os componentes Swing como JBupon Todos os componentes que herdam de JComponent devem ser adicionados a hierarquia de containers A classe JComponent provê look and feel, tratamento de eventos de teclado, ferramenta para exibir dica (toolnp), infra- estrutura para desenho, suporte a bordas, etc. JBupon e JLabel: botão e rótulo settext/gettext para atualizar e ler o texto JTextField: caixa de texto construtor: JTextField(int columns) settext/gettext para atualizar e ler o texto Inicialmente os componentes não tem ação Adicionando informação a um JComponent putclientproperty(key:object,value:object); Object getclientproperty(key:object); 14 15 Containers de conteúdo Também conhecidos como panels e panes Eles simplificam o posicionamento de outros componentes que são adicionados neles Exemplos de containers de conteúdo JPanel (mais comum) JScrollPane JTabbedPane Você pode definir o layout de um container através do método setlayout() Gerenciamento de Layout Definição processo que consiste em determinar o tamanho e a posição dos componentes na tela Em Java, o gerenciamento de layout é feito através dos Layout Managers Existem vários Layout Managers pré- definidos absoluto (não tem gerenciador de layout) Alguns: BorderLayout, GridLayout, FlowLayout, BoxLayout, GridBagLayout, CardLayout 16 17 3

Absoluto (sem Layout Manager) O tamanho e a posição de cada componente deve ser especificado pelo programador Não ajusta bem quando o container top- level muda de tamanho Requer um ajuste complexo quando mudamos de sistema operacional problemas devido a resoluções, tamanhos de fonte, etc. Deve ser evitado! Usando um Layout Manager (1) O Layout Manager decide onde os componentes devem ser posicionados na tela isso é feito automancamente quando adicionamos um componente no panel/pane Exemplo BorderLayout (posição relanva) add(label,borderlayout.center); FlowLayout GridLayout (ordem de adição) add(label); 18 19 BorderLayout Exemplo Cinco áreas para armazenar componentes north, south, east, west, e center north, south, east, west tem um atributo fixo center fica com todo o espaço restante Container container = new JPanel(new BorderLayout()); JFrame frame = new JFrame("BorderLayoutExample"); frame.setsize(300,300); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setcontentpane(container); JLabel label = new JLabel("Center",JLabel.CENTER); container.add(label, BorderLayout.CENTER); container.add(new JButton("North"), BorderLayout.NORTH); container.add(new JButton("South"), BorderLayout.SOUTH); container.add(new JButton("East"), BorderLayout.EAST); container.add(new JButton("West"), BorderLayout.WEST); frame.setvisible(true); 20 21 FlowLayout Os componentes são adicionados no panel/ pane da esquerda para direita iniciam uma nova linha caso necessário Os componentes tem tamanho default Este é o Layout default de JPanel GridLayout Posiciona os componentes em um grid o programador define o número de linhas e colunas Os componentes são adicionados da esquerda para direta, e do topo para baixo Força os componentes a assumirem o tamanho da célula do grid 22 23 4

BoxLayout CardLayout Os objetos são alinhados em uma linha ou coluna Os objetos usam o tamanho default Criando um BoxLayout Permitem que vários componentes (JPanel) comparnlhem a mesma área na tela Conceitualmente cada JPanel corresponde a uma carta. As cartas ficam uma sobre as outras Box.createHorizontalBox(); Box.createVerticalBox(); o usuário decide a carta que deseja exibir 24 GridBagLayout 25 Combinando Layout Managers GridBagLayout é o mais flexível e complexo Layout Manager Os componentes são adicionados seguindo um grid Vários Layout Managers podem ser combinados para compor telas complexas alguns componentes podem ocupar mais de uma célula colunas e linhas podem ter tamanhos (width/length) diferentes 26 27 Créditos Resumindo (1) Alguns slides unlizados nesta apresentação foram baseados nos seguintes slides Swing tem vários componentes Os componentes são organizados em um hierarquia de armazenamento (containers) Adam Carmi, "IntroducNon to JFC Swing" Ricardo Linden, "Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico" Ricardo Linden, "Interfaces Gráficas (GUIs) em Java usando Swing Parte II Tratando Eventos" um container pode conter outros componentes componentes unlizam um layout manager Gerenciamento de layout processo que consiste em determinar o tamanho e a posição dos componentes na tela 28 29 5