JTable - Atrás das linhas inimigas

6 respostas
brlima

Ao inmvés de

bv.add(rs.getString(a).toString()+"");

use

bv.add((String)rs.getString(a)+"");

Apesar que vc está utilizando getString() acho que já retorna String.
Quando vc chama o método getString(), e sua coluna não tem valor, ele retorna um objeto = null, onde não dá pra chmar o método toString() desse objeto.
Desta nova forma, vc esta fazendo um cast pra String, e não importa se o objeto de retorno é nulo, pois vc apensa está dizendo que o tipo do retorno do objeto deve ser String. :wink:

Espero que ajuda. Não sei se era esse o teu problema.

6 Respostas

brlima
bv.add(rs.getString(a)==null?"":(String)rs.getString(a));
D

Pessoal, com posso fazer para um JTable mostrar linhas vazias de duas colunas (cid e bai) ?
Dessa forma abaixo, a tabela não funciona por causa das colunas cid e bai que contém linhas nulas.

private void Table()throws Exception { try { rs = stmt.executeQuery("select cad_nr, cad_nome, cid, bai from r_cadast"); // cid e bai são colunas que contém linhas vazias rsmd = rs.getMetaData(); int col = rsmd.getColumnCount(); while(rs.next()) { bv = new Vector<String>(); int a; for(a=1;a<=col;a++) { if(flag) { head.add(rsmd.getColumnName(a)); } bv.add(rs.getString(a).toString()+""); } body.add(bv); flag=false; } rs.close(); stmt.close(); con.close(); } catch(Exception exec) { JOptionPane.showMessageDialog(null, "Problemas na tabela.", "Erro", JOptionPane.ERROR_MESSAGE); exec.printStackTrace(); } jTable = new JTable(body, head); jTable.setModel(model); jTable.setRowSorter(sorter); jTable.setLocation(new Point(15, 118)); jTable.setBackground(new Color(204, 204, 204)); jTable.setAutoscrolls(true); jTable.setSize(new Dimension(200, 200)); jTable.addMouseListener(this); }
Obrigado

D

Pessoal ?

D

Garoto esperto… :smiley: É isso mesmo.
Valeu pela dica

D

Agora…
como eu faço pra converter tudo que for null para vazio ("") ?

D

Blz, funcionou !

Muito obrigado

Criado 24 de maio de 2006
Ultima resposta 24 de mai. de 2006
Respostas 6
Participantes 2