Você está aqui: Java ::: Gerenciadores de Layout ::: GridBagLayout |
Controlando como e se os componentes em um GridBagLayout serão redimensionados se o usuário redimensionar a janelaQuantidade de visualizações: 8467 vezes |
|
As variáveis GridBagConstraints.weightx e GridBagConstraints.weighty permitemcontrolar como o espaço adicional em um GridBagLayout será distribuido entre os vários componentes. São estas variáveis as responsáveis por permitir que os componentes aumentem ou encolham quando o usuário redimensionar a janela do aplicativo. Por padrão, os valores destas variáveis são 0, o que significa que os componentes não serão redimensionados juntamente com a janela. Suponhamos que você tenha cinco componentes em uma determinada linha e atribua valores 1.0 para GridBagConstraints.weightx antes de inserí-los na janela, então estes componentes serão redimensionados igualmente se a janela for redimensionada. Pense agora que você tem cinco componentes. Os quatro primeiros recebem o valor 1.0 e o último recebe 1.0. Se a janela for redimensionada, os quatro primeiros componentes serão redimensionados igualmente, enquanto o último permanece inalterado. O exemplo abaixo mostra como dois botões são redimensionados (um horizontalmente e o outro verticalmente) quando a janela é redimensionada:
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
public class Estudos extends JFrame{
public Estudos(){
super("Como usar a classe GridBagLayout");
// define o layout
setLayout(new GridBagLayout());
// define uma borda para aumentar o espaço
// entre as bordas da janela e o gerenciador
// de layout
((JComponent)getContentPane()).setBorder(
new EmptyBorder(10, 10, 10, 10));
// cria o GridBagConstraints
GridBagConstraints gbc = new GridBagConstraints();
// controla o espaço entre os componentes
// e as linhas do GridBagLayout.
// aqui nós definimos 2 pixels para os
// lados de cima, esquerda, inferior e direita
gbc.insets = new Insets(2, 2, 2, 2);
// adiciona componentes à janela
gbc.gridy = 0; // linha
gbc.gridx = 0; // coluna
// redimensiona o botão para ocupar toda a célula
// verticalmente
gbc.fill = GridBagConstraints.VERTICAL;
// se a janela for redimensionada, o primeiro
// botão ocupará todo o novo espaço vertical
gbc.weighty = 1.0;
add(new JButton("Botão 1"), gbc);
// adiciona componentes à janela
gbc.gridy = 0; // linha
gbc.gridx = 1; // coluna
// redimensiona o botão para ocupar toda a célula
// horizontalmente
gbc.fill = GridBagConstraints.HORIZONTAL;
// se a janela for redimensionada, o segundo
// botão ocupará todo o novo espaço horizontal
gbc.weighty = 0; // zera o weighty
gbc.weightx = 1.0;
add(new JButton("Botão 2"), gbc);
pack(); // ajusta o tamanho da janela ao
// dos componentes
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
Android Java - Como usar a classe Toast em suas aplicações Android |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






