Utilizar GridLayout e BorderLayout

Pessoal

Preciso implementar uma tela de cadastro onde tenho labels do lado esquerdo e text e combos do lado direito, abaixo disso tenho dois botões, isso tem q ser feito pelo GridLayout, mas tenho q colocar um TextArea pelo BorderLayout para ser visualizado o cadastro feito nos texts e pelas opções selecionadas no combo, o problema é que não estou conseguindo fazer essa junção de GridLayout e BorderLayout, ou seja a parte do Grid aparece certa, quando vou colocar o TextArea pelo BorderLayout não aparece nada na tela.

Poderiam me ajudar por favor? :oops:

Desde já agradeço a colaboração!

Crie três paineis, um para os campos, um para a área de texto e um terceiro para os comandos/botões.
Depois adicione tudo ao JFrame.

import javax.swing.*;
import java.awt.*;


public class Teste extends JFrame {


public JLabel lblNome, lblEndereco, lblTelefone;
public JTextField jtfNome, jtfEndereco, jtfTelefone;

public JTextArea jtaCadastro;

public JButton btnBotaoOK, btnBotaoCancelar;


public Teste() {

// painel com os dados
lblNome = new JLabel(" Nome :");
jtfNome = new JTextField();
lblEndereco = new JLabel(" Endereço :");
jtfEndereco = new JTextField();
lblTelefone = new JLabel(" Telefone :");
jtfTelefone = new JTextField();

JPanel pGrid = new JPanel(new GridLayout(3, 2));
pGrid.add(lblNome);
pGrid.add(jtfNome);
pGrid.add(lblEndereco);
pGrid.add(jtfEndereco);
pGrid.add(lblTelefone);
pGrid.add(jtfTelefone);

// painel com o cadastro
jtaCadastro = new JTextArea();

JScrollPane pCadastro = new JScrollPane(jtaCadastro);

// painel com os comandos
btnBotaoOK = new JButton("OK");
btnBotaoCancelar = new JButton("Cancelar");

JPanel pBotoes = new JPanel(new GridLayout(0, 2));
pBotoes.add(btnBotaoOK);
pBotoes.add(btnBotaoCancelar);

// painel do JFrame
this.setLayout(new BorderLayout());
this.getContentPane().add(pGrid, BorderLayout.NORTH);
this.getContentPane().add(pCadastro, BorderLayout.CENTER);
this.getContentPane().add(pBotoes, BorderLayout.SOUTH);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Cadastro");
this.setSize(400, 200);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setVisible(true);
}


public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
new Teste();
}


}
1 curtida

Boa Noite
Muito bom esse código postado resolveu meu problema (02:18) vlw ae cara ganhei algumas horas de sono =)

Opa, muito legal esse código.

Me ajudou também! Valew!!