Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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 janela

Quantidade de visualizações: 8328 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);
  }
}


Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 18 usuários muito felizes estudando em nosso site.