• Nenhum resultado encontrado

143Todos os direitos reservados a 3Way Networks

No documento Linguagem Java COMPLETA (páginas 143-147)

Linguagem de Programação Java

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br 130

Como no gerenciador FlowLayout, os parâmetros hgap e vgap aqui também se referem ao espaçamento entre os componentes no container. Para adicionar um componente a uma região específica, use o método add() e passe dois argumentos: o componente a ser adicionado e a região onde o componente deve ser posicionado. Adicionar mais de um componente a um container resulta em exibir apenas o último componente adicionado. A lista a seguir apresenta as regiões válidas que são campos predefinidos na classe BorderLayout.

 BorderLayout.NORTH

 BorderLayout.SOUTH

 BorderLayout.EAST

 BorderLayout.WEST

 BorderLayout.CENTER

Aqui está uma classe demonstrando como a BorderLayout pode ser utilizada:

import java.awt.*;

public class BorderLayoutDemo extends Frame { public static void main(String args[]) {

BorderLayoutDemo bld = new BorderLayoutDemo();

bld.setLayout(new BorderLayout(10, 10)); // pode remover bld.add(new Button("NORTH"), BorderLayout.NORTH);

bld.add(new Button("SOUTH"), BorderLayout.SOUTH); bld.add(new Button("EAST"), BorderLayout.EAST); bld.add(new Button("WEST"), BorderLayout.WEST); bld.add(new Button("CENTER"), BorderLayout.CENTER); //bld.setSize(200, 200); bld.setSize(400, 400);//redimensione bld.setVisible(true); } } Listagem 11.5 - BorderLayout

A figura mostra o resultado.

Figura 11.5 - Executando BorderLayoutDemo

11.3.3 O gerenciador GridLayout

Com o gerenciador GridLayout, componentes também são posicionados da esquerda para a direita e de

cima para baixo como no gerenciador FlowLayout. Além disso, o gerenciador GridLayout divide o container em um

número de linhas e colunas. Todas essas regiões são do mesmo tamanho. Ele sempre ignora o tamanho preferido do componente. A seguir, são apresentados os construtores disponíveis para a classe GridLayout.

Apenas um componente pode

ser colocado em uma região.

//atribuindo valor a variável referência Carro carro1 = new Carro();

carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Figura 2.4 – Layout Memória após inicialização //criando novo alias

Carro carro2 = carro1;

Figura 2.5 – Layout Memória duas variáveis referência para o mesmo objeto

2.3 Membros de Instância

Cada objeto criado deverá ter sua própria instância de variáveis (atributos) definidas pela classe. Os métodos definem o comportamento de um objeto. Isto é importante, pois denota que um método pertence a cada objeto da classe. Porém não devemos confundir isto com a implementação do método, que é compartilhada por todas as instâncias da classe.

2.3.1 Invocação de Métodos

Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operação apropriada que foi definida no objeto. Em Java, isto é feito pela

chamada de um método em um objeto usando o operador binário "." (ponto),

devendo especificar a mensagem completa: o objeto que é o recebedor da mensagem, o método a ser invocado e os argumentos para o método (se houver). O método invocado no recebedor pode também enviar informações de volta ao objeto chamador através de um valor de retorno. O método chamado deve ser um que esteja definido pelo objeto.

Os valores das variáveis em um objeto constituem

o seu estado. Dois objetos distintos têm

o mesmo estado se suas variáveis membro têm os

mesmos valores.

Construtores GridLayout

GridLayout() Cria um novo objeto GridLayout com uma única linha e uma

única coluna por padrão.

GridLayout(int rows, int cols) Cria um novo objeto GridLayout com o número especificado

de linhas e colunas.

GridLayout(int rows, int cols, int hgap, int vgap) Cria um novo objeto GridLayout com o número especificado de linhas e colunas. Os espaçamentoshorizontalhgap e verticalvgap sãoaplicadosaoscomponentes.

Tabela 11.6 - Construtores GridLayout

Vejamos a seguinte classe:

import java.awt.*;

public class GridLayoutDemo extends Frame { public static void main(String args[]) {

GridLayoutDemo gld = new GridLayoutDemo(); gld.setLayout(new GridLayout(2, 3, 4, 4)); gld.add(new Button("ONE"));

gld.add(new Button("TWO")); gld.add(new Button("THREE")); gld.add(new Button("FOUR")); gld.add(new Button("FIVE")); gld.setSize(200, 200);

gld.setVisible(true); }

}

Listagem 11.6 - GridLayout

Esse é o resultado da classe (observe o efeito do redimensionamento sobre o frame na segunda figura):

Figura 11.6 - Executando GridLayoutDemo

11.3.4 Painéis e Layouts Complexos

Para criar layouts mais complexos, é possível combinar os diferentes gerenciadores de layout com o uso de objetos do tipo Panel. Lembre-se que Panel é um Container e um Component ao mesmo tempo. É possível inserir

Components em um Panel e adicionar este a uma região específica do Container.

//atribuindo valor a variável referência Carro carro1 = new Carro();

carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Figura 2.4 – Layout Memória após inicialização //criando novo alias

Carro carro2 = carro1;

Figura 2.5 – Layout Memória duas variáveis referência para o mesmo objeto

2.3 Membros de Instância

Cada objeto criado deverá ter sua própria instância de variáveis (atributos) definidas pela classe. Os métodos definem o comportamento de um objeto. Isto é importante, pois denota que um método pertence a cada objeto da classe. Porém não devemos confundir isto com a implementação do método, que é compartilhada por todas as instâncias da classe.

2.3.1 Invocação de Métodos

Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operação apropriada que foi definida no objeto. Em Java, isto é feito pela

chamada de um método em um objeto usando o operador binário "." (ponto),

devendo especificar a mensagem completa: o objeto que é o recebedor da mensagem, o método a ser invocado e os argumentos para o método (se houver). O método invocado no recebedor pode também enviar informações de volta ao objeto chamador através de um valor de retorno. O método chamado deve ser um que esteja definido pelo objeto.

Os valores das variáveis em um objeto constituem

o seu estado. Dois objetos distintos têm

o mesmo estado se suas variáveis membro têm os

mesmos valores.

import java.awt.*;

public class CompondoLayouts extends Frame { public static void main(String args[]) {

CompondoLayouts cl = new CompondoLayouts(); Panel panelNorth = new Panel();

Panel panelCenter = new Panel(); Panel panelSouth = new Panel(); /* Painel North */

// Painéis usam FlowLayout por padrão panelNorth.add(new Button("ONE")); panelNorth.add(new Button("TWO")); panelNorth.add(new Button("THREE")); /* Painel Center */

panelCenter.setLayout(new GridLayout(1, 4)); panelCenter.add(new TextField("1st"));

panelCenter.add(new TextField("2nd")); panelCenter.add(new TextField("3rd")); panelCenter.add(new TextField("4th")); /* Painel South */

panelSouth.setLayout(new BorderLayout());

panelSouth.add(new Checkbox("Choose me!"), BorderLayout.CENTER); panelSouth.add(new Checkbox("I'm here!"), BorderLayout.EAST); panelSouth.add(new Checkbox("Pick me!"), BorderLayout.WEST); /* Adicionando os Panels ao Frame container */

// Frames usam BorderLayout por padrão cl.add(panelNorth, BorderLayout.NORTH); cl.add(panelCenter, BorderLayout.CENTER); cl.add(panelSouth, BorderLayout.SOUTH); cl.setSize(300, 300);

cl.setVisible(true); }

}

Listagem 11.7 – Layout Complexos

Este é o resultado da classe:

Linguagem de Programação Java

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br 12

//atribuindo valor a variável referência Carro carro1 = new Carro();

carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Figura 2.4 – Layout Memória após inicialização //criando novo alias

Carro carro2 = carro1;

Figura 2.5 – Layout Memória duas variáveis referência para o mesmo objeto

2.3 Membros de Instância

Cada objeto criado deverá ter sua própria instância de variáveis (atributos) definidas pela classe. Os métodos definem o comportamento de um objeto. Isto é importante, pois denota que um método pertence a cada objeto da classe. Porém não devemos confundir isto com a implementação do método, que é compartilhada por todas as instâncias da classe.

2.3.1 Invocação de Métodos

Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operação apropriada que foi definida no objeto. Em Java, isto é feito pela

chamada de um método em um objeto usando o operador binário "." (ponto),

devendo especificar a mensagem completa: o objeto que é o recebedor da mensagem, o método a ser invocado e os argumentos para o método (se houver). O método invocado no recebedor pode também enviar informações de volta ao objeto chamador através de um valor de retorno. O método chamado deve ser um que esteja definido pelo objeto.

Os valores das variáveis em um objeto constituem

o seu estado. Dois objetos distintos têm

o mesmo estado se suas variáveis membro têm os

mesmos valores.

147

No documento Linguagem Java COMPLETA (páginas 143-147)

Documentos relacionados