Jtable com Banco de dados

Olá galera,

Preciso de uma ajuda, após vários estudos com o JTable eu consegui colocar os valores no modelo, porém quando vou utilizar o Banco de dados esses valores não aparecem, o que preciso fazer?!

Estou com 2 classes do JTable que são: TabelaInsercao e ModeloTabela.

Códigos:

TabelaInserção:

import javax.swing.table.AbstractTableModel;
import java.util.*;

public class TabelaInsercao extends AbstractTableModel{

	String nomes[] = {"Cod_Item","Nome_Serviço","Preço","Quantidade"};
	static List<ModeloTabela> lista = new ArrayList<ModeloTabela>();
	ModeloTabela mt = new ModeloTabela();
	ArrayList<ModeloTabela> lin;
	


	public Object getValueAt(int lin, int coluna) {
			mt = lista.get(lin);
		
		switch(coluna) {
			case 0: 
				return mt.getCodItem();
			case 1:
				return mt.getNomeServiço();
			case 2:
				return mt.getValor();
			case 3:
				return mt.getTotal();
			default:  
	            throw new IndexOutOfBoundsException("Fora dos limites!!!");  	
				
		}
	
	}
	


	@Override
	public int getColumnCount() {
		// TODO Auto-generated method stub
		return nomes.length;
	}

	@Override
	public int getRowCount() {
		// TODO Auto-generated method stub
		return lista.size();
	}
	
	public String getColumnName(int n) {
		return nomes[n];
	}
	
	public void init() {
		mt.setCodItem(1);
		
		lista.add(mt);
	}
	
	public boolean isCellEditable(int linha, int coluna) {
		if(coluna == 0) 
			return false;
		else if(coluna == 1) 
			return false;
		else if(coluna == 2)
			return false;
		
		return true;
	}
	
	
	
	
}

Modelo Tabela: get´s e set´s


public class ModeloTabela {

	int c_item,quantidade;
	String nome;
	float preco;
	
	
	public int getCodItem() {
		return c_item;
	}
	
	public String getNomeServiço() {
		return nome;
	}
	
	public float getValor() {
		return preco;
	}
	
	public int getTotal() {
		return quantidade;
	}
	
	public void setCodItem(int cI) {
		c_item = cI;
	}
	
	public void setNomeServiço(String n) {
		nome = n;
	}
	public void setValor(float f) {
		preco = f;
	}
	
	public void setTotal(int q) {
		quantidade = q;
	}
}

método do Banco de dados:

public void selecionarServiço() {
		Statement comando;
		ModeloTabela mt = new ModeloTabela();
		
		try {
			comando = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
			resultado = comando.executeQuery("Select cod_Serviço, descriçao,valor from tab01Serviço where cod_serviço = " + cod_servico);
			while(resultado.next()) {
				mt.setCodItem(resultado.getInt("cod_Serviço"));
				mt.setNomeServiço(resultado.getString("descriçao"));
				mt.setValor(resultado.getFloat("valor"));
				TabelaInsercao.lista.add(mt);
				System.out.println("CodServiço: " + resultado.getInt("cod_Serviço"));
				System.out.println("Descrição: " + resultado.getString("descriçao"));
				System.out.println("Valor: " + resultado.getFloat("valor"));
			}
			
		
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

o código da JTable na tela:

	modelo = new TabelaInsercao();
		for(int i = 0; i < 4; i++) {
			modelo.getColumnName(i);
		}
		
	
		modelo.init();
		JTable tabela = new JTable();
		
		tabela.setModel(modelo);
		JPanel tabelaPanel = new JPanel();
		JScrollPane painel = new JScrollPane(tabela);
		JButton inserirPedidos = new JButton("Inserir Pedidos");
		inserirPedidos.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String texto = texto03.getText();
				new Selecionar(texto);
			}
		});
		tabelaPanel.add(inserirPedidos);
		tabelaPanel.add(painel);
		tabelaPanel.setOpaque(false);
		tabelaPanel.setBounds(290,300,480,180);
		
		
		
		
		tela.add(tabelaPanel);

abraço,

Se você esta alimentando manualmente esta dando certo, o problema pode ser na sua Consulta SQL

cod_servico <- onde que você esta alimentando essa variavel?

Faz assim, tente realizar a consulta dentro do banco de dados
Select cod_Serviço, descriçao,valor from tab01Serviço where cod_serviço = 2

Depois pegue o mesmo codigo que funcionou no banco e coloque na sua String de pesquisa.
Se der certo é pq a variavel ‘cod_serviço’ esta null

Mas, pra nao dar dor de cabeça mostra a exceção… fica mais facil…

Resolvi já isso, esqueci de adicionar no listener do AbstractTableModel.

vlw…