Programação em Java JPanel e Gerenciadores de Layout Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Interfaces Gráficas Jpanel e Diagramadores.

Slides:



Advertisements
Apresentações semelhantes
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique
Advertisements

1 Interface Gráfica em Java Profa. Dra. Angélica Félix de Castro.
Criação de telas com Swing Arquiteto de Software – TJDF
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE III Prof. Thiago Pereira Rique
14.17 Tratamento de Eventos de Teclado
Linguagens de Programação Orientadas a Objetos
Graphical User Interface (GUI) Prof(o): Alexandre Parra.
Capítulo 15 Swing – Parte 2.
Tutorial I: Criando a interface de uma aplicação em Java
Aula de reposição Prof. Grace e Ângela
Componentes GUI GUI – Grafical User Interface – São construídas a partir de componentes GUI chamados de controles ou widgets (windows gadgets – engenhocas.
Profº Cláudio Barbosa HTML – Frames Dividem a janela do navegador, possibilitando exibir mais de um documento html ao mesmo.
Programação Visual em Java
Java – Programação Gráfica
Linguagem de Programação III
Interface Grafica - Swing Professor Rafael Monteiro
Interface Gráfica (material da Profa. Luciana Nedel - www. inf. pucrs
COMPONENTES GUI (capítulo 11 Deitel)
Jpanel e Diagramadores
POO - II Prof.: Jean Carlo Mendes
POO Interface Gráfica - Swing
Introdução PLB-II (Java) – Prof. Alberto  Mais componentes da GUI.
Programação Prof.: Bruno Rafael de Oliveira Rodrigues.
Fundamentos e Tecnologia em Web
Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico
UNIVERSIDADE FEDERAL DE SANTA CATARINA CTC - CENTRO TECNOLÓGICO INE - DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DISCIPLINA DE COMPUTAÇÃO COM OBJETOS DISTRIBUÍDOS.
Internet - 1 Listas m Tipos de listas q listas não ordenadas ( ) atributo type controla o aspecto do símbolo (disc, circle, square) q listas ordenadas.
Roberto C. S. Pacheco Professor
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
1 Curso de Linguagem Java Marcos Mendes 1º Semestre
Programação Orientada a Objetos Prof. Rafael Silva.
Programação Gráfica em Java Swing Aula Na aula passada vimos: Thread Animação Técnica de desenho eficiente (double-bufferring)
Principais Classes Swing AWT  As classes e interfaces localizadas nos pacotes:  java.awt  javax.swing  são recursos para o desenvolvimento de GUIs.
Programação Gráfica em Java Leiaute Aula Na aula passada vimos: Tratamento de eventos Fontes de eventos Ouvintes de eventos.
JOSÉ ANTÔNIO DA CUNHA IFRN Silverlight. Layout com Painéis Roteiro  Canvas  StackPanel  WrapPanel  DockPanel  Grid  GridSplitter.
Box Model Prof. Wolley Prof. Erika. Valor inicial das propriedades CSS Todos os elementos de Marcação HTML possuem um valor inicial para as propriedades.
Tabelas textotexto2texto3textotexto2texto3textotexto2texto3
Programação em Java RMI - Remote Method Invocation Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Programação em Java JButton e Tratamento de Eventos Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Programação em Java Threads Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
Classes Objetos Atributos Métodos Coletor de Lixo (Garbage Collector ) Confraria do Java Nivelamento. Caroline, Marcelo e Luiz 12/05/2007.
GUI – GRAPHIC USER INTERFACE
Computação Gráfica – Transformações Projetivas
Curso básico de linguagem Java
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Java: Interfaces Alcides Calsavara.
HTML CSS CRD Filipe Pacheco.
Criação e manipulação de objetos
CREATED BY RAFAEL S. T. VIEIRA
Programação Orientada a Objetos
Interface gráficas em Java
Elaborando as Interfaces dos trabalhos das aulas 28, 29 e 30.
Unidade VI – Exceções e Interfaces
Elaborando Interfaces
Unidade VII – Interfaces Gráficas
Elaborando as Interfaces dos trabalhos das aulas 22, 23 e 24.
Elaborando as Interfaces dos trabalhos das aulas 25, 26 e 27.
Elaborando as Interfaces Aulas 31, 32 e 33
Elaborando as Interfaces Aulas 43, 44 e 45
Elaborando Interfaces
Rosemary Silveira Filgueiras Melo
Programação Orientada a Objetos
Rosemary Silveira Filgueiras Melo
Exercício sobre Interface Java
Leitura do teclado e Interface gráfica
Hyper-Text Markup Language Linguagem de Marcação de Hipertexto
EXERCÍCIOS DA AULA PASSADA
Aplicação com Várias Janelas
Interface Java: JFrame, JPanel, JButton, JLabel, JMenuBar, Jmenu, JMenuItem, addSeparator() e a biblioteca Java.Math Prof. Esp. André Aparecido da Silva.
Programação de Computadores II
Transcrição da apresentação:

Programação em Java JPanel e Gerenciadores de Layout Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Interfaces Gráficas Jpanel e Diagramadores javax.swing.JPanel Modela um container sem decoração; Representa um grupo de elementos; Normalmente usado para estruturar a interface; Associado a um diagramador; Default: Flow Layout Métodos de JPanel Construtores: public JPanel(); public JPanel(LayoutManager layout); Outros métodos setSize(int largura, int altura); setBorder(Border borda); setBackground(Color cor); setVisible(Boolean estado); setLayout(LayoutManager layout); setFont(Font fonte); add(Component componente); Exercício 1 Construa uma janela e adicione um JPanel nela. Mude alguns parâmetros: tamanho, cor, borda, visibilidade. Bordas Qualquer Jcomponent pode possuir bordas; Usar o método setBorder(Border borda); A classe BorderFactory pode ser usada Exemplo: JPanel painel = new JPanel(); painel.setBorder(BorderFactory.createLineBorder( Color.black)); Ver BorderDemo.java How to Use Borders Gerenciadores de Layout Os gerenciadores de layout são fornecidos para organizar componentes GUI em um container para que estes sejam apresentados; Disponíveis: FlowLayout BorderLayout GridLayout BoxLayout CardLayout GridBagLayout null java.awt.FlowLayout Coloca os componentes lado a lado, uma linha após a outra; Alinhamento: centralizado (default), à esquerda ou à direita; Default para o JPanel. Exemplo de FlowLayout Container contentPane = janela.getContentPane(); contentPane.setLayout(new FlowLayout()); contentPane.add(new JButton("Button 1")); contentPane.add(new JButton("2")); contentPane.add(new JButton("Button 3")); contentPane.add(new JButton("Long-Named Button 4")); contentPane.add(new JButton("Button 5")); java.awt.BorderLayout Divide o container em 5 áreas: norte, sul, leste, oeste e centro; Default para content pane do JFrame. Exemplo de BorderLayout Container contentPane = janela.getContentPane(); //contentPane.setLayout(new BorderLayout()); contentPane.add(new JButton("Button 1 (NORTH)"), BorderLayout.NORTH); contentPane.add(new JButton("2 (CENTER)"), BorderLayout.CENTER); contentPane.add(new JButton("Button 3 (WEST)"), BorderLayout.WEST); contentPane.add(new JButton("Long-Named Button 4 (SOUTH)"), BorderLayout.SOUTH); contentPane.add(new JButton("Button 5 (EAST)"), BorderLayout.EAST); java.awt.GridLayout Células do mesmo tamanho especificadas pelo número de linhas e colunas. Exemplo de GridLayout Container contentPane = janela.getContentPane(); contentPane.setLayout(new GridLayout(0,2)); contentPane.add(new JButton("Button 1")); contentPane.add(new JButton("2")); contentPane.add(new JButton("Button 3")); contentPane.add(new JButton("Long-Named Button 4")); contentPane.add(new JButton("Button 5"));

javax.swing.JPanel Modela um container sem decoração; Representa um grupo de elementos; Normalmente usado para estruturar a interface; Layout Default: FlowLayout

Métodos de JPanel Construtores: public JPanel(); public JPanel(LayoutManager layout); Outros métodos setSize(int largura, int altura); setBorder(Border borda); setBackground(Color cor); setVisible(Boolean estado); setLayout(LayoutManager layout); setFont(Font fonte); add(Component componente);

Exemplo import java.awt.*; import javax.swing.*; public class Paineis extends JFrame { public Paineis() { //altera o tamanho do frame (x,y) em pixels this.setSize(400,400); //operacao padrao ao fechar o frame this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel painel = new JPanel(); //Adiciona o painel no centro do frame (contentPane) this.add(painel, BorderLayout.CENTER); this.setVisible(true); } public static void main(String[] args) { new Paineis(); }

Bordas Qualquer Jcomponent pode possuir bordas; Usar o método setBorder(Border borda); A classe BorderFactory pode auxiliar Exemplo: Ver BorderDemo.java JPanel painel = new JPanel(); painel.setBorder(BorderFactory. createLineBorder(Color.black));

Gerenciadores de Layout Os gerenciadores de layout são fornecidos para organizar componentes GUI em um container para que estes sejam apresentados Disponíveis: FlowLayout BorderLayout BoxLayout GridLayout GridBagLayout null

java.awt.FlowLayout Coloca os componentes lado a lado, uma linha após a outra; Alinhamento: centralizado (default), à esquerda ou à direita; Default para o JPanel.

Exemplo de FlowLayout Container contentPane = janela.getContentPane(); contentPane.setLayout(new FlowLayout()); contentPane.add(new JButton("Button 1")); contentPane.add(new JButton("2")); contentPane.add(new JButton("Button 3")); contentPane.add(new JButton("Long-Named Button 4")); contentPane.add(new JButton("Button 5"));

java.awt.BorderLayout Divide o container em 5 áreas: norte, sul, leste, oeste e centro; Default para content pane do JFrame.

Exemplo de BorderLayout Container contentPane = janela.getContentPane(); //contentPane.setLayout(new BorderLayout()); contentPane.add(new JButton("Button 1 (NORTH)"), BorderLayout.NORTH); contentPane.add(new JButton("2 (CENTER)"), BorderLayout.CENTER); contentPane.add(new JButton("Button 3 (WEST)"), BorderLayout.WEST); contentPane.add(new JButton("Long-Named Button 4 (SOUTH)"), BorderLayout.SOUTH); contentPane.add(new JButton("Button 5 (EAST)"), BorderLayout.EAST);

javax.swing.BoxLayout Permite que os componentes sejam organizados da esquerda para a direita ou de cima para baixo em um container. new BoxLayout(getJContentPane(), BoxLayout.Y_AXIS) new BoxLayout(getJContentPane(), BoxLayout.X_AXIS)

java.awt.GridLayout Células do mesmo tamanho especificadas pelo número de linhas e colunas.

Exemplo GridLayout Container contentPane = janela.getContentPane(); contentPane.setLayout(new GridLayout(0,2)); contentPane.add(new JButton("Button 1")); contentPane.add(new JButton("2")); contentPane.add(new JButton("Button 3")); contentPane.add(new JButton("Long-Named Button 4")); contentPane.add(new JButton("Button 5"));

javax.swing.GridBagLayout É o mais poderoso dos gerenciadores de layout Os componentes adicionados para o layout podem variar em tamanho, isto é, eles podem ocupar múltiplas linhas e colunas Podem ser adicionados em qualquer ordem; A tela é dividida em linhas e colunas representando as células que serão ocupadas pelos componentes

javax.swing.GridBagLayout

Duas classes são importantes para definição do layout. GridBagConstraints Insets GridBagConstraints. GridBagConstraints() GridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets insets, int ipadx, int ipady)

GridBagLayout - Insets Insets(int top, int left, int bottom, int right)

Exemplo GridBagLayout

Null – Ausência de Gerenciador Existe também a possibilidade de se indicar null para o tipo de layout. Significa que nenhum dos gerenciadores serão utilizados. O posicionamento passa a ser absoluto, dependente de plataforma e resolução de vídeo. Deve então utilizar o método: setBounds(x, y, width, height) onde: x (deslocamento a partir da esquerda – eixo x) y (deslocamento a partir do topo – eixo y) width (tamanho) height (altura).

Parâmetros setBounds(50, 35, 30, 20); ( x,Y, largura, altura)

public class PosicaoAbsoluta extends JFrame { private JLabel lblLNome = new JLabel("Nome:"); private JTextField txtLNome = new JTextField(); private JLabel lblLEndereco = new JLabel("Endereço:"); private JTextField txtLEndereco = new JTextField(); public PosicaoAbsoluta() { Container container = getContentPane(); container.setLayout(null); lblLNome.setBounds(new Rectangle(35, 35, 100, 19)); txtLNome.setBounds(new Rectangle(101, 36, 300, 20)); container.add(lblLNome); container.add(txtLNome); lblLEndereco.setBounds(new Rectangle(35, 75, 100, 19)); txtLEndereco.setBounds(new Rectangle(101, 76, 300, 20)); container.add(lblLEndereco); container.add(txtLEndereco); setSize(520, 180); setVisible(true); } Exemplo Null