Preenchimento de jTable

3 respostas
P

Alguém ai sabe como que eu faço pra colocar dados do tipo int e float na tabela ?
quando tento fazer a conversão da erro.

public void preencherTabelaP() {
        try {

            arlTabelaP.removeAll(arlTabelaP);
            arlTabelaP = daoP.lista();
            String[] colunas = new String[]{"CÓDIGO", "DESCRIÇÃO", "PREÇO"};
            String[][] linhas = new String[arlTabelaP.size()][3];
            for (int i = 0; i < arlTabelaP.size(); i++) {
                Produto prod = arlTabelaP.get(i);
                linhas[i][0] = String.valueOf(prod.getCodigo());
                linhas[i][1] = prod.getNome();                
                linhas[i][2] = Double.parseDouble(g.getPreco()); //O erro acontece neste linha, tipo do rerro = required:String | found:float.

                


            }
            jtTabConsultaP.setModel(new javax.swing.table.DefaultTableModel(linhas, colunas));
        } 
        catch (Exception ex) {
            ex.printStackTrace();
            System.out.println("ERRO NA CONEXÃO");
        }
    }

3 Respostas

R

é pq vc cria um array de strings e da um parseDouble pra passar pra double

tem q ser string naquela coluna… usa um outro método pra formatar o valor e coloca um string ali…

W

O problema eh simples.

Se vc olhar no documentacao, o Double.parseDouble espera que vc passe como parametro uma string.

g.getPreco() esta retornando um float. Por isso o erro.

Veja:
http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Double.html#parseDouble(java.lang.String)

Porque vc nao adiciona float direto na tabela?? Ou armazena o dado como double?

Um “hack” simples e feio seria vc fazer algo do tipo:

Float preco = new Float(g.getPreco());
linhas[i][2] = Double.parseDouble(preco.toString());

//Daniel

ViniGodoy

Ou melhor ainda, você não usa o DefaultTableModel e aprende a manipular um JTable da maneira correta.
Para aprender, basta seguir os links ao lado do texto em vermelho na minha assinatura.

Criado 4 de julho de 2011
Ultima resposta 5 de jul. de 2011
Respostas 3
Participantes 4