Preencher JTable

3 respostas
S

Pessoal como faço para preencher uma jtable usando mvc?
Imagino que o codigo não pode ser direto na view, acho que deveria ser direto no dao certo?

Se algum puder me ajudar criar o metodo para popular a jtable com os dados do banco… e fazer o jframe realizar esse metodo.

Obrigado

3 Respostas

fredsilva.sistemas

Aqui eu faço da seguinte forma:
No controller, crio um método p/ realizar a consulta (este método me retorna uma lista), este método irá utilizar uma classe do MODEL e na VIEW vc chama o método criado no clique de algum botão e manda adicionar à sua JTable a lista que o método retornou.

Tem um exemplo meio tosco aqui! Vê se te ajuda:

//No CONTROLLER
public List consultarProdutos() throws SQLException{
        List listProdutos = new ArrayList();	
        Conexao banco = new Conexao();
        banco.abrirConexao();//Método que faz conexão com o BD
        try{
            Statement statement = banco.conexao.createStatement();
            ResultSet resultSet = statement.executeQuery("SELECT * FROM \"PRODUTO\";");

            while(resultSet.next()){
                Produtos produto = new Produtos();//No MODEL
                produto.setId(resultSet.getInt("PRO_IDDOOBJETO"));
                produto.setDescricao(resultSet.getString("PRO_DESCRICAO"));
                produto.setEstoque(resultSet.getInt("PRO_ESTOQUE"));
                produto.setEstoqueMinimo(resultSet.getInt("PRO_ESTOQUEMIN"));
                listProdutos.add(produto);
            }
	}
	}catch (SQLException e){
                JOptionPane.showMessageDialog(rootPane, e.getMessage(),"Erro",JOptionPane.ERROR_MESSAGE);
        }
        banco.fecharConexao();//Fecha a conexão
        return listProdutos;
    }

Na VIEW vc cria um método que adicione a lista que vc tem à JTable
Espero ter ajudado!
T+

ViniGodoy

Você deve criar um TableModel. Se você quer fazer o MVC direito, não use o DefaultTableModel, já que isso jogará seu código de modelo para a View.

O TableModel é um Adapter. Ele irá transformar os dados do seu modelo mesmo, em dados de um modelo que o JTable pode usar.

Dé uma olhada:
http://www.guj.com.br/posts/list/132698.java#714736

S

esse metodo não seria no dao?

Criado 9 de outubro de 2009
Ultima resposta 12 de out. de 2009
Respostas 3
Participantes 3