Pegar os nomeCliente's do BD e colocar em uma JTable

2 respostas
A

Olá, minha dúvida imagino que seja bem trivial para a maioria.. mas pra mim ainda está dificil.
O que estou tentando fazer é o seguinte:

Pegar os nomeCliente's que estão salvos no meu banco de dados e colocar em uma JTable.

O meu codigo está o seguinte:

// CLASSE QUE ACESSA O BANCO DE DADOS
public class CadastroClienteDAO {

	private static Connection conexao;

	public CadastroClienteDAO() throws SQLException {
		this.conexao = FabricaConexao.getConexao();                 }

	public static CadastroCliente buscarDadosBD(CadastroCliente CliCadastrado) throws SQLException {
		PreparedStatement stmt = (PreparedStatement) conexao.createStatement();
		ResultSet rs = stmt.executeQuery("SELECT nomeCliente FROM `enigmaisbancoddados`.`cliente`");

		while (rs.next()) {
			String colunaNomeCli = rs.getString("nomeCliente");               }

		rs.close();
		stmt.close();
		conexao.close();

		return CliCadastrado;       }      }
//PARTE VISUAL E CRIAÇÃO DA TABELA
public class CadastroClienteGraf extends JFrame {
	private static JTable jTableCliCadastrados = null;

	static JTable getJTableCliCadastrados() {         //MINHA MAIOR DIFICULDADE É COLOCAR OS DADOS NA TABELA(INVOCAR O METODO buscarDadosBD)
		if (jTableCliCadastrados == null) {
			String[] colunas = new String []{"ID","Nome","CPF/CNPJ","UF","Cidade","Email","Telefone"};
			String[][] dados = new String [][] {   
				       {"","",""},   
				       {"","",""},    };
			DefaultTableModel modelo = new DefaultTableModel(dados, colunas);
			jTableCliCadastrados = new JTable(modelo);
		}
		return jTableCliCadastrados;
	}
// VARIAVEIS COM OS METODOS GET E SET
public class CadastroCliente {
	private String nomeCliente;

	public String getNomeCliente() {
		String nomeDoCliente = CadastroClienteGraf.getJTextFieldNome().getText();
		this.nomeCliente = nomeDoCliente;
		return nomeCliente;                }

	public void setNomeCliente(String nomeCliente) {
		this.nomeCliente = nomeCliente;          }

Então é isso gente.. alguem me ajuda a colocar os dados na minha tabela? como ficaria o codigo correto.. ja pesquisei bastante e nd!
Desde já.. vlw!

2 Respostas

drsmachado

1 - Não use DefaultTableModel - já posso ver muitos gujeiros te considerando herege.
2 - Não concatene os resultados do acesso ao banco em uma String, crie os objetos e salve-os em uma List.
3 - Não use DefaultTableModel (apenas para ressaltar).
4 - Quando você receber a List na classe que popula a JTable, simplesmente itere sobre ela, coloque os devidos campos no seu novo TableModel (extends AbstractTableModel, lógico) e faça a inclusão de linhas no modelo.
Pronto.

P.S.: No GUJ mesmo você encontra ótimas opções de TableModels

claudneto

5 - Não use DefaultTableModel

Criado 6 de maio de 2011
Ultima resposta 6 de mai. de 2011
Respostas 2
Participantes 3