30.06.2013 Views

Apostila Java

Apostila Java

Apostila Java

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

INTERFACE GRÁFICA CO M O USUÁRIO<br />

aos dois lados do componente). Similarmente, a altura do componente será a sua altura menos<br />

ipady*2.<br />

?? insets: é parecido com o ipad, porém define a borda externa do componente, ou seja, o<br />

espaçamento entre o componente e o espaço disponível para a sua visualização.<br />

?? weightx e weighty: determina o "peso" dos componentes, ou seja, como eles se comportarão<br />

durante o redimensionamento do container gerenciado pelo GridBagLayout. Quando o container for<br />

redimensionado, o gerenciador calcula as novas dimensões dos componentes de acordo com o<br />

seu peso. É necessário indicar o peso de pelo menos um componente em cada linha, caso<br />

contrário, todos os componentes ficarão centralizados na linha, sem peso.<br />

/**<br />

* Exemplo de GridBagLayout<br />

* @author Felipe Gaúcho<br />

* @version exemplo SOO-I<br />

*/<br />

public class GradeAssimetrica extends Frame<br />

{<br />

/**<br />

* Método que adiciona componentes na interface<br />

* @param componente O componente a ser adicionado à interface<br />

* @param gerenciador O gerenciador de layouts utilizado<br />

* @param restricoes O objeto com as restrições associadas ao componente<br />

*/<br />

private void adicionarComponente(Component componente,<br />

GridBagLayout gerenciador,GridBagConstraints restricoes)<br />

{<br />

// Registra os restrições do componente no gerenciador de layouts<br />

gerenciador.setConstraints(componente, restricoes);<br />

add(componente); // Adiciona o componente<br />

}<br />

GradeAssimetrica()<br />

{<br />

super("FIC - exemplo de GridbagLayout");<br />

GridBagLayout gerenciador = new GridBagLayout();<br />

GridBagConstraints restricoes = new GridBagConstraints();<br />

// Define o objeto 'gerenciador' como o gerenciador de componentes da Janela<br />

this.setLayout(gerenciador);<br />

// GridBagConstraints.BOTH faz o componente ocupar toda a área disponível<br />

// horizontal e vertical.<br />

restricoes.fill = GridBagConstraints.BOTH;<br />

restricoes.weightx = 0.5; // Componente com peso horizontal 0.5x<br />

adicionarComponente(new Label("nome: "), gerenciador, restricoes);<br />

// Componente ocupando a linha até o final - REMAINDER = nova linha<br />

restricoes.gridwidth = GridBagConstraints.REMAINDER;<br />

restricoes.weightx = 3.0; // Componente com peso horizontal 2x<br />

adicionarComponente(new TextField( ), gerenciador, restricoes);<br />

// O RELATIVE faz o componente ocupar a linha até o próximo componente<br />

95

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!