Bom dia pessoal, criei um jpanel dentro de uma aba e não estou conseguindo posicionar os componentes na posição que desejo, ele adiciona tudo agrupado. Alguém pode me ajudar?
Obrigado!
Classe AbaCadastro
package Componentes;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.LayoutManager;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
public class MeuPainelAbaCadastro extends JPanel {
public JPanel painelEsquerda = new JPanel();
public JPanel painelDireita = new JPanel();
public JPanel painelInterno = new JPanel();
public JPanel painelDados = new JPanel();
public JPanel painelDadosAdicionais = new JPanel();
public JPanel painelLabel = new JPanel();
public JPanel painelBotao = new JPanel();
public MeuPainelAbaCadastro(LayoutManager layoutEsquerda) {
setLayout(new BorderLayout());
painelEsquerda.setLayout(layoutEsquerda);
add("Center", painelEsquerda);
add("East", painelDireita);
painelEsquerda.add(painelInterno);
painelInterno.setLayout(new FlowLayout());
painelInterno.setLayout(new BorderLayout());
painelInterno.add("North", painelDados);
painelInterno.add("South", painelDadosAdicionais);
painelDadosAdicionais.setLayout(new BorderLayout());
painelDadosAdicionais.add("West", painelLabel);
painelDadosAdicionais.add("East", painelBotao);
//painelDadosAdicionaisConsulta.setBorder(BorderFactory.createEtchedBorder());
painelDados.setBorder(BorderFactory.createEtchedBorder());
painelDadosAdicionais.setBorder(BorderFactory.createEtchedBorder());
}
}
TelaCadastro
package Cadastros.Telas;
import Cadastros.Pesistencia.PersistenciaEstado;
import Componentes.MeuCampoCodigo;
import Estrutura.*;
import Componentes.MeuJTextField;
import Componentes.MeuPainelAbaCadastro;
import Componentes.MeuPainelAbaConsulta;
import Componentes.MinhaData;
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
public class TelaCadastroEstado extends TelaCadastro implements ListSelectionListener {
private static TelaCadastroEstado telaCadastroEstado = null;
private MeuCampoCodigo campoCodigo = new MeuCampoCodigo("Código", true, 5, false);
private MinhaData campoData = new MinhaData("Data", true);
private MeuJTextField campoNome = new MeuJTextField("Nome", true, 25);
private MeuJTextField campoUf = new MeuJTextField("UF", true, 2);
private DefaultTableModel dtm;
private JTable tabela;
private JScrollPane jsp;
private PersistenciaEstado estado = new PersistenciaEstado();
private MeuPainelAbaConsulta abaConsulta = new MeuPainelAbaConsulta(new GridBagLayout());
private MeuPainelAbaCadastro abaCadastro = new MeuPainelAbaCadastro(new GridBagLayout());
private JTabbedPane jtp = new JTabbedPane();
private JLabel consultaSelecionado = new JLabel("Estado selecionado: ");
private JLabel cadastroSelecionado = new JLabel("Estado Selecionado: ");
public TelaCadastroEstado() {
super("Cadastro de Estado");
montaTela();
preencheTabela();
pack();
}
public void incluir() {
super.incluir();
estado.getPk();
campoCodigo.setText(""+estado.getEstCodigo());
}
public static void getTela() {
if (telaCadastroEstado == null) {
telaCadastroEstado = new TelaCadastroEstado();
Principal.jdp.add(telaCadastroEstado);
}
Principal.jdp.setSelectedFrame(telaCadastroEstado);
telaCadastroEstado.requestFocus();
Principal.jdp.moveToFront(telaCadastroEstado);
}
public void montaTela() {
jtp.addTab("Consulta", abaConsulta);
jtp.addTab("Cadastro", abaCadastro);
add(jtp);
abaCadastro.painelDireita.add(painelBotoes);
painelBotoes.setLayout(new GridLayout(12, 1));
painelBotoes.remove(jbConsultar);
abaCadastro.painelDireita.setBorder(BorderFactory.createEtchedBorder());
adicionarComponente(1,18,1,1, campoData, "Data", CIMA, abaCadastro.painelDados); // É um método de uma classe TelaCadastro tentei fazer com setBaunds () mas também não posiciona onde eu quero.....
adicionarComponente(3,2,1,1, campoCodigo, "Código", CIMA, abaCadastro.painelDados);
adicionarComponente(3,4,3,1, campoNome, "Nome", CIMA, abaCadastro.painelDados);
adicionarComponente(3,11,1,1, campoUf, "UF", CIMA, abaCadastro.painelDados);
String[] colunas = new String[] {"Código", "Data Cadastro", "Nome", "UF"};
String[][] dados = new String[][] {};
dtm = new DefaultTableModel(dados, colunas);
tabela = new JTable(dtm);
tabela.getSelectionModel().addListSelectionListener(this);
jsp = new JScrollPane(tabela);
jsp.setPreferredSize(new Dimension (575,300));
abaConsulta.painelDados.add(jsp);
abaConsulta.painelDadosAdicionais.add(consultaSelecionado);
abaConsulta.painelBotao.add(jbSair2);
abaCadastro.painelDadosAdicionais.add(cadastroSelecionado);
}
}
[img]
[/img]
Desde já agradeço!