Pessoal,
Estou com um grande problema, pois tentei de diversas formas e não estou conseguindo adicionar o meu JTable ao Panel.
Segue abaixo a Classe onde eu instancio o JTable:
package Clientes;
import java.awt.Font;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.text.ParseException;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import javax.swing.text.MaskFormatter;
import ConectaBanco.ConnectionDataBase;
public class AddFrameCliente
{
//Construtor do modelo da JTable
public DefaultTableModel ClienteCadastrado(ResultSet rs)
{
DefaultTableModel modelo = new DefaultTableModel();
try
{
ResultSetMetaData rsmd = rs.getMetaData();
for(int i = 1; i<=rsmd.getColumnCount(); i++)
{
modelo.addColumn(rsmd.getColumnLabel(i));
}
while(rs.next())
{
Vector<String> dados = new Vector<String>();
for(int i = 1; i<=rsmd.getColumnCount(); i++)
{
dados.addElement(rs.getString(i));
}
modelo.addRow(dados);
}
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
return modelo;
}
public AddFrameCliente(JPanel PanelCliente)
{
//Declaração da JTable
JTable TblClientesCadastrados = null;
try
{
Connection conn = ConnectionDataBase.getConnection();
Statement comando = conn.createStatement();
ResultSet linhas = comando.executeQuery("Select * from clientes");
TblClientesCadastrados = new JTable(ClienteCadastrado(linhas));
TblClientesCadastrados.setBounds(10, 200, 400, 200);
TblClientesCadastrados.setVisible(true);
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
//Declaração dos Labels
JLabel LblBannerCliente = new JLabel("Cadastro de CLientes");
LblBannerCliente.setFont(new java.awt.Font("Curlz MT",3,28));
LblBannerCliente.setBounds(250,5, 300, 30);
JLabel LblBannerClienteCadastrado = new JLabel("Clientes Cadastrados");
LblBannerClienteCadastrado.setFont(new Font("Curlz MT",3,28));
LblBannerClienteCadastrado.setBounds(250, 180, 300, 30);
JLabel LblCodigoCliente = new JLabel("Cod.");
LblCodigoCliente.setBounds(10, 50, 40, 32);
JLabel LblNomeCliente = new JLabel("Nome:");
LblNomeCliente.setBounds(150, 50, 60, 32);
JLabel LblSobreNomeCliente = new JLabel("Sobrenome:");
LblSobreNomeCliente.setBounds(430, 50, 80, 32);
JLabel LblNiverCliente = new JLabel("Aniversario:");
LblNiverCliente.setBounds(10, 85, 80, 32);
JLabel LblTelCliente = new JLabel("Tel:");
LblTelCliente.setBounds(180, 85, 40, 32);
JLabel LblEmailCliente = new JLabel("Email:");
LblEmailCliente.setBounds(430, 85, 40, 32);
//Declaração dos TextFields
JTextField TxtFieldCodCliente = new JTextField();
TxtFieldCodCliente.setBounds(40,50,60,25);
TxtFieldCodCliente.setEnabled(false);
JTextField TxtFieldNomeCliente = new JTextField();
TxtFieldNomeCliente.setBounds(190, 50, 200, 25);
JTextField TxtFieldSobreNomeCLiente = new JTextField();
TxtFieldSobreNomeCLiente.setBounds(505, 50, 250, 25);
JTextField TxtFieldEmailCliente = new JTextField();
TxtFieldEmailCliente.setBounds(480, 85, 275, 25);
//Declaração dos Buttons
JButton ButtonCadastrarCliente = new JButton("Cadastrar");
ButtonCadastrarCliente.setBounds(230, 125, 115, 35);
JButton ButtonLimparDadosCLiente = new JButton("Limpar");
ButtonLimparDadosCLiente.setBounds(400, 125, 115, 35);
//Declaração dos JFormattedFields
JFormattedTextField FTextFieldNivercliente = new JFormattedTextField();
FTextFieldNivercliente.setBounds(87, 85, 70, 25);
try
{
MaskFormatter NiverCLiente = new MaskFormatter("##/##");
NiverCLiente.install(FTextFieldNivercliente);
}
catch (ParseException e)
{
e.printStackTrace();
}
JFormattedTextField FTextFieldTelCliente = new JFormattedTextField();
FTextFieldTelCliente.setBounds(210, 85, 180, 25);
try
{
MaskFormatter NiverCLiente = new MaskFormatter("(##)####-####");
NiverCLiente.install(FTextFieldTelCliente);
}
catch (ParseException e)
{
e.printStackTrace();
}
//Adiciona o layout ao panelprincipal
PanelCliente.setLayout(null);
//Adiciona os labels ao PanelPrincipal
PanelCliente.add(LblBannerCliente);
PanelCliente.add(LblCodigoCliente);
PanelCliente.add(LblNomeCliente);
PanelCliente.add(LblSobreNomeCliente);
PanelCliente.add(LblNiverCliente);
PanelCliente.add(LblTelCliente);
PanelCliente.add(LblEmailCliente);
PanelCliente.add(LblBannerClienteCadastrado);
//Adiciona os textfields ao panelPrincipal
PanelCliente.add(TxtFieldCodCliente);
PanelCliente.add(TxtFieldNomeCliente);
PanelCliente.add(TxtFieldSobreNomeCLiente);
PanelCliente.add(TxtFieldEmailCliente);
//Adiciona os JFormattedField
PanelCliente.add(FTextFieldNivercliente);
PanelCliente.add(FTextFieldTelCliente);
//Adiciona os JButtons
PanelCliente.add(ButtonCadastrarCliente);
PanelCliente.add(ButtonLimparDadosCLiente);
//Adiciona a JTable ao PanelPrincipal
PanelCliente.add(new JScrollPane(TblClientesCadastrados));
}
}
A classe abaixo é onde eu chamo o construtor que adiciona os objetos ao Panel Principal.
package Principal;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.KeyStroke;
import Balanco.AddFrameBalanco;
import Clientes.AddFrameCliente;
import Email.FrameEmail;
import Entregas.AddFrameEntregas;
import FluxoCaixa.AddFrameFluxoCaixa;
import Fornecedor.AddFrameFornecedor;
import Produtos.AddFrameProdutos;
import Vendas.AddFrameVendas;
/*
* Classe FramePrincipal:
* Monta o Frame Principal
* da aplicação
*/
@SuppressWarnings("serial")
public class FramePrincipal extends JFrame
{
//Declaração do JTabbedPane
JTabbedPane jtpPrincipal = new JTabbedPane();
//Cada Panel Representa uma aba.
JPanel PanelVendas = new JPanel();
JPanel PanelCliente = new JPanel();
JPanel PanelProduto = new JPanel();
JPanel PanelEntrega = new JPanel();
JPanel PanelFornecedor = new JPanel();
JPanel PanelBalanco = new JPanel();
JPanel PanelFluxoCaixa = new JPanel();
//Declaração da barra do Menu
JMenuBar BarraMenu = new JMenuBar();
//Declaração do menu
JMenu MenuOpcoes = new JMenu("Arquivo");
JMenu MenuSobre = new JMenu("Ajuda");
//Declaração dos Itens do Menu Arquivo
JMenuItem JMIemail = new JMenuItem("Mandar E-mail");
JMenuItem JMIBalanco = new JMenuItem("Imprimir Balanços");
JMenuItem JMIsair = new JMenuItem("Sair");
//Declaração dos itens do Menu Ajuda.
JMenuItem JMIsobre = new JMenuItem("Sobre..");
public FramePrincipal()
{
super("Innova Flores");
setSize(800, 600);
setLocation(100,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Configurações de Propriedades dos menus
MenuOpcoes.setMnemonic('o');
MenuSobre.setMnemonic('a');
JMIBalanco.setMnemonic('b');
JMIemail.setMnemonic('e');
JMIsair.setMnemonic('s');
JMIsobre.setMnemonic('h');
//Tecla de atalho do SubMenu Sair
JMIsair.setAccelerator(KeyStroke.getKeyStroke
(KeyEvent.VK_F4, KeyEvent.ALT_MASK));
//Tecla de atalho do SubMenu Email
JMIemail.setAccelerator(KeyStroke.getKeyStroke
(KeyEvent.VK_F3, KeyEvent.ALT_MASK));
//Adicionar os itens no menu Arquivo
MenuOpcoes.add(JMIBalanco);
MenuOpcoes.add(JMIemail);
MenuOpcoes.add(JMIsair);
//Adicionar os itens no menu Sobre
MenuSobre.add(JMIsobre);
//Adiciona o menu arquivo a barra
BarraMenu.add(MenuOpcoes);
//Adiciona o menu sobre a barra
BarraMenu.add(MenuSobre);
//Adiciona a barra na Janela
setJMenuBar(BarraMenu);
//Adiciona evento ao Menu Email
JMIemail.addActionListener
(new ActionListener()
{
public void actionPerformed
(ActionEvent SMEmail)
{
new FrameEmail();
}
});
//Adiciona evento ao Menu Sair
JMIsair.addActionListener
(new ActionListener()
{
public void actionPerformed
(ActionEvent SMSair)
{
dispose();
}
});
//Adiciona conteudo ao panel vendas
new AddFrameVendas(PanelVendas);
//Adiciona conteudo ao Panel Produtos
new AddFrameProdutos(PanelProduto);
//Adiciona conteudo ao Panel Entregas
new AddFrameEntregas(PanelEntrega);
//Adiciona conteudo ao Panel Cliente
new AddFrameCliente(PanelCliente);
//Adiciona conteudo ao Panel Balanco
new AddFrameBalanco(PanelBalanco);
//Adiciona conteudo ao Panel Fornecedor
new AddFrameFornecedor(PanelFornecedor);
// Adiciona conteudo ao Panel FluxoCaixa
new AddFrameFluxoCaixa(PanelFluxoCaixa);
//adiciona os panels como aba
jtpPrincipal.addTab("Vendas",null,PanelVendas, "Modulo de vendas");
jtpPrincipal.addTab("Clientes",null,PanelCliente, "Modulo de clientes");
jtpPrincipal.addTab("Produtos",null,PanelProduto, "Modulo de produtos");
jtpPrincipal.addTab("Entregas",null,PanelEntrega, "Modulo de entregas");
jtpPrincipal.addTab("Fornecedor",null,PanelFornecedor, "Modulo de fornecedores");
jtpPrincipal.addTab("Balanço",null,PanelBalanco, "Modulo de balanço mensal, semanal e diario");
jtpPrincipal.addTab("Fluxo de caixa",null,PanelFluxoCaixa, "Modulo de fluxo de caixa");
//Adiciona conteudo ao Frame
this.getContentPane().add(jtpPrincipal);
setVisible(true);
}
}
Gostaria de saber o que eu estou fazendo de errado, pois não consigo visualizar o JTable no meu Panel.
Rodei em modo de debug e ele constroi a aplicação sem nenhum erro, simplesmente não aparece no meu Panel.
Alguem Poderia me Ajudar!!!