Você está aqui: Java ::: Gerenciadores de Layout ::: GridBagLayout

Usando GridBagConstraints.gridheight para definir a quantidade de células em uma coluna que um determinado componente ocupará

Quantidade de visualizações: 7937 vezes


Muitas vezes precisamos que um determinado componente ocupe mais de uma célula na vertical em um GridBagLayout. Isso pode ser feito com o uso de GridBagConstraints.gridheight. Por padrão este valor é 1, ou seja, cada componente ocupará apenas uma célula na vertical.

É possível atribuir à GridBagConstraints.gridheight os valores GridBagConstraints.REMAINDER e GridBagConstraints.RELATIVE. Se GridBagConstraints.REMAINDER for usado, o componente ocupará desde sua célula principal até a última célula na coluna. Se GridBagConstraints.RELATIVE for usado, o componente ocupará desde sua célula até a célula antes da última célula na coluna.

O trecho de código abaixo mostra como usar GridBagConstraints.gridheight para fazer com que componentes ocupam mais de uma célula por coluna:
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
    // este primeiro botão ocupará duas células
    // na primeira coluna
    gbc.gridy = 0; // linha
    gbc.gridx = 0; // coluna
    gbc.gridheight = 2; // duas células na coluna
    // redimensiona o botão para ocupar toda a célula
    gbc.fill = GridBagConstraints.VERTICAL;
    add(new JButton("Botão 1"), gbc);

    gbc.gridy = 0; // linha
    gbc.gridx = 1; // coluna
    gbc.gridheight = 1;
    gbc.fill = GridBagConstraints.NONE; // zera o fill
    add(new JButton("Botão 2"), gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 1; // coluna
    add(new JButton("Botão 3"), 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:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercícios Resolvidos de Java - Como contar de 10 até 0 usando recursividade em Java - Funções recursivas em Java

Quantidade de visualizações: 6295 vezes
Pergunta/Tarefa:

Escreva um método recursivo em Java que conta e exibe os valores de 10 até 0. Seu método deverá possuir a seguinte assinatura:

public static void contarRecursivamente(int n){
  // sua implementação aqui
}
Veja que o método deverá receber o valor 10 e efetuar novas chamadas a si mesmo até que os valores de 10 até 0 sejam exibidos. O ponto de parada da recursividade é a exibição do valor 0.

Sua saída deverá ser parecida com:

10 9 8 7 6 5 4 3 2 1 0
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package exercicio;

public class Exercicio {
  public static void main(String[] args) {
    // efetua uma chamada ao método recursivo
    // fornecendo o primeiro valor
    contarRecursivamente(10);
  }
  
  // método recursivo que conta de 10 até 0;
  public static void contarRecursivamente(int n){
    // vamos exibir o número atual
    System.out.print(n + "  ");
    
    // devemos prosseguir com a recursividade?
    if(n > 0){
      // decrementa o valor de n
      n--;  
      // e faz uma nova chamada recursiva
      contarRecursivamente(n);
    }
  }
}



Java ::: Dicas & Truques ::: Arquivos e Diretórios

Como adicionar conteúdo a um arquivo texto existente em Java usando BufferedWriter e FileWriter

Quantidade de visualizações: 4 vezes
Nesta dica mostrarei como podemos usar as classes BufferedWriter e FileWriter da linguagem Java para adicionar mais conteúdo a um arquivo texto já existente. Veja que só precisamos fornecer o valor true para o segundo parâmetro do construtor da classe FileWriter.

Eis o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.io.*;

public class Estudos {

  public static void main(String[] args) {
    try {
      BufferedWriter out = new BufferedWriter(
        new FileWriter("C:\\estudos_java\\conteudo.txt", true));
      out.write("Esta é a primeira linha de texto\r\n");
      out.write("Esta é a segunda linha de texto");
      out.close();
    } 
    catch (IOException e) {
      System.out.println("Err: " + e.getMessage());
    }

    System.out.println("Acabei de adicionar conteúdo ao arquivo");

    System.exit(0);
  }
}

Execute este código Java algumas vezes e veja como o novo conteúdo é adicionado ao conteúdo já existente no arquivo texto.


Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como definir a cor de fundo para um JTextArea

Quantidade de visualizações: 8866 vezes
Nesta dica mostrarei como podemos aplicar uma cor de fundo a um controle área de texto, ou seja, um JTextArea do Java Swing. Para isso nós só precisamos fazer uma chamada ao seu método setBackground() e passar a cor desejada.

Veja um exemplo de como isso pode ser feito:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

textArea = new JTextArea(10, 20);
// Define a cor de fundo
textArea.setBackground(Color.YELLOW);

Note que aqui nós temos uma variável chamada textArea, do tipo JTextArea.


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

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á 31 usuários muito felizes estudando em nosso site.