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