Boa tarde,
Depois de ler, alguns materiais passados, aqui no forum e outros. Vi que o mais pratico, é usar diversos, tipos de layout de acordo com a necessidade. Para JPanel, com muitos componentes, gostei do sistema do GroupLayout. Porém estou perdendo, o tamanho dos componentes e do JPanel, conforme imagem abaixo:
[URL=http://www.4shared.com/photo/N2eXe4W6/GroupLayout.html]
[/URL]
Código:
public class PainelDeContato extends PainelGrandeCorpoUmDeTres {
private RotuloNormal telefoneA;
private CaixaDeTextoFormatadoTelefone caixaTelefoneUm;
private RotuloNormal telefoneB;
private CaixaDeTextoFormatadoTelefone caixaTelefoneDois;
private RotuloNormal email;
private CaixaDeTextoMedio caixaEmail;
private RotuloNormal site;
private CaixaDeTextoMedio caixaSite;
public PainelDeContato() {
super(" Contato ");
this.inicializaComponentes();
}
private void inicializaComponentes() {
this.telefoneA = new RotuloNormal("Telefone");
this.caixaTelefoneUm = new CaixaDeTextoFormatadoTelefone();
this.telefoneB = new RotuloNormal("Telefone");
this.caixaTelefoneDois = new CaixaDeTextoFormatadoTelefone();
this.email = new RotuloNormal("E-mail");
this.caixaEmail = new CaixaDeTextoMedio();
this.site = new RotuloNormal("Site");
this.caixaSite = new CaixaDeTextoMedio();
this.inicializaLayout();
}
private void inicializaLayout() {
GroupLayout layout = new GroupLayout(this);
this.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHorizontalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(this.telefoneA)
.addComponent(this.caixaTelefoneUm))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(this.telefoneB)
.addComponent(this.caixaTelefoneDois))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(this.email)
.addComponent(this.caixaEmail))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(this.site)
.addComponent(this.caixaSite))
);
layout.setVerticalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(this.telefoneA)
.addComponent(this.telefoneB)
.addComponent(this.email)
.addComponent(this.site))
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(this.caixaTelefoneUm)
.addComponent(this.caixaTelefoneDois)
.addComponent(this.caixaEmail)
.addComponent(this.caixaSite))
);
}
}
Duvidas:
-
Como manter o layout, no tamanho, herdado? Do JPanel e componentes internos.
-
Como deixar os componentes, em seu tamanho, padrão?
Nota: A unica forma que consegui, uma saida de layout satisfatoria, foi: aumentando drasticamente a largura dos componentes.
[]s
[/URL]
Muito obrigado, pelo apoio que tem dado, a maior parte do material que li, foi passado por você em um outro topico, que havia aberto.