Gerenciamento de Layout

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

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

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

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

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

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

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

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

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

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

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

Gerenciadores de Layouts

Gestores de Layout. Arranjo de elementos numa Janela

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

Interfaces Gráficas (GUIs) em Java usando Swing

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

8. Interfaces Gráficas de Usuário

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

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

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

Interface Gráficas Parte I. Bruno Crestani Calegaro

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

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

MÓDULO 4 SWING Parte 3

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

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

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

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

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

Elaborando as Interfaces Aulas 43, 44 e 45

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

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

JMENU, JDESKTOPPANE E JINTERNALFRAME

Prof. Responsáveis Wagner Santos C. de Jesus

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

Interfaces Gráficas: Interações Complexas

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

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

Aula 2 Even e to t s d o M ouse

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

Java Standard Edition (JSE)

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

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

Interfaces Gráficas (GUIs) em Java usando Swing

Gerenciadores de Layout Parte 1

Orientação a Objetos

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

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

Programação Visual em Java

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

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

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

Principais Classes Swing AWT

Teste de Software: Existe Isto? Jorge Fernandes Junho de 2004

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

COM220 Aula 17: Interface Gráfica Containers Swing

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

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

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

Interfaces Gráficas com Swing. Professor Leonardo Larback

Elaborando as Interfaces Aulas 31, 32 e 33

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

HABILITANDO A IDE DO ECLIPSE

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

Prof. Msc. Vladimir Camelo

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

Natureza do Software e dos Sistemas

Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano

Programação Orientada a Objetos II

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

A classe 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. Aula de Revisão para AV1

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

Introdução à Ciência da Computação com Jogos Bruno Feijó - Esteban Clua - Fávio S. Corrêa da Silva

Java Deployment Course

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

Interface gráfica em Java: Swing e SWT

Tiago Alves de Oliveira. Tiago Alves de Oliveira

MANIPULAÇÃO DE EVENTOS

Programação Orientada a Objetos

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

Orientação a Objetos

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

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

Tratamento de Eventos

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados

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

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

Programação. 3 Período

Formulário Principal no NetBeans

Componentes da Interface Gráfica da Linguagem Java

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

LINGUAGEM DE PROGAMAÇÃO II Criando uma Classe

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

Transcrição:

Gerenciamento de Layout Gerenciamento de layout consiste no processo de determinar o tamanho e a posição dos componentes. Ele pode ser feito usando-se posicionamento absoluto, como fazíamos no VC++, Delphi e VB. Neste caso o tamanho e a posição de cada componente deve ser especificado. Não ajusta bem quando o container top-level muda de tamanho. Tem um ajuste complexo quando mudamos de sistema e enfrentamos outras resoluções, tamanhos de fonte, etc.

Gerenciamento de Layout O gerencimaneto de layout é geralmente realizado pelos layout managers Os componentes oferecem dicas de tamanho e posicionamento para os layout managers, mas são estes que decidem onde e como estes componentes serão posicionados. Estas dicas consistem em tamanho mínimo, preferido e máximo, alinhamento vertical e horizontal. Podemos customizar estas preferências de duas maneiras: Chamando os métodos de definição:: setminimumsize, setalignmentx,... Subclasseando componentes e modificando os métodos de acesso:getminimumsize, getalignmentx,...

Gerenciamento de Layout A decisão é tomada usando-se designs padronizados. Vários tipos de designs diferentes podem ser combinados para realizar qualquer tela que desejamos A plataforma Java fornece quatro layout managers mais usados: BorderLayout, BoxLayout, FlowLayout, GridLayout Quando usarmos o método add para acrescentar um componente em um container, o layout manager em uso deve ser levado em consideração Chamadas possíveis do add: Usando posição relativa (BorderLayout) panel.add(component, BorderLayout.CENTER); Ordem de adição: (BoxLayout, GridLayout,...) panel.add(component);

BorderLayout Divide o container em cinco regiões : NORTH, SOUTH, WEST, EAST, CENTER As regiões NORTH e SOUTH se expandem de forma a tomar todas a região horizontalmente e usam o tamanho default verticalmente As regiões WEST e EAST se expandem para preencher a região verticalmente e usam o tamanho default horizontalmente CENTER usa o espaço que não foi ocupado pelos outros.

Um exemplo gráfico usando Layout import java.awt.*; import javax.swing.*; public class DemoGUI1 { public static void main(string[] args) { JFrame frame = new JFrame("HelloSwing"); JPanel panel = new JPanel(); JButton button1 = new JButton("button1"); JLabel label1 = new JLabel("label1"); JButton button2 = new JButton("button2"); JLabel label2 = new JLabel("label2"); panel.setlayout(new BorderLayout()); panel.add(button1, BorderLayout.NORTH); panel.add(button2, BorderLayout.SOUTH); panel.add(label1, BorderLayout.WEST); panel.add(label2, BorderLayout.EAST); frame.getcontentpane().add(panel); frame.pack(); frame.setvisible(true); } }

Resultado... A saída do programa é algo assim: Repare que sempre que modificamos o tamanho da janela, os componentes automaticamente se reposicionam. Problema: quando fechamos o frame, gostaríamos que o programa terminasse, mas isto não acontece (veja a janela de processos em execução dentro do NetBeans)

Resolvendo o problema O problema é que não temos nenhum tratador para o evento de fechar a janela. Fechar a janela Fechar o programa... Antes usávamos o setdefaultcloseoperation Podemos resolver isto também acrescentando um tratador de eventos: addwindowlistener(new WindowAdapter() { ); public void windowclosing(windowevent e) { } System.exit(0); } Obs: a classe WindowAdapter fica dentro da biblioteca java.awt.event, que deve ser importada para que o programa funcione.

FlowLayout Trata o container como se fosse uma página ou um parágrafo da esquerda para a direita e de cima para baixo. Os componentes recebem o seu tamanho preferido tanto verticalmente quanto horizontalmente. Os componentes são posicionados na ordem em que foram adicionados Se a linha for muito longa, os componentes passam para a linha de baixo.

GridLayout Trata o container como um grid de linhas e colunas de tamanhos iguais. Os componenets recebem tamanhos iguais não importando qual seu tamanho favorito.

BoxLayout Alinha os componentes no container em uma única linha ou coluna Os componentes usam seu tamanho e alinhamentos favoritos A melhor maneira de criar um container com o layout box: Box.createHorizontalBox(); Box.createVerticalBox();

Problema dos Layout Managers Como desenharíamos uma janela complicada como a janela abaixo usando os layout managers que vimos até agora?

Solução : Layout composto Crie panels dentro de Panels Cada Panel tem um layout diferente Combinando os layouts, podemos conseguir desenhos mais complexos e poderosos e que atinjam nossos objetivos. Exemplo Quantos panels temos? Qual é o layout de cada um deles?

Resposta Container north = new JPanel(new FlowLayout()); north.add(new JButton("Button 1")); north.add(new JButton("Button 2")); Container south = new JPanel(new BorderLayout()); south.add(new JLabel("Southwest"), BorderLayout.WEST); south.add(new JLabel("Southeast"), BorderLayout.EAST); Container cp = getcontentpane(); cp.add(north, BorderLayout.NORTH); cp.add(new JButton("Center Button"), BorderLayout.CENTER); cp.add(south,borderlayout.south);

Exemplo de Layouts Façam programas em Java que desenhem as seguintes telas: (a) (b) (c) (d) (e)