Limpar um jTable com colunas de tipos diferentes?

3 respostas
vinihds

fmz galera ?

estou fazendo um trab q modifica o conteudo de um jTable em tempo de execução, mas a sua ultima coluna é do tipo boolean ( as outras sao String )…

como faço para limpar as linhas dessas tabelas ? lembrando q a ultima coluna tem q ser do tipo boolan

aqui o codigo q eu uso quando todas as colunas sao String:

3 Respostas

ViniGodoy

Que diferença faz o tipo da coluna?

Simplesmente limpe o seu model e lance o evento fireTableDataChanged().

vinihds

eu sempre fiz desse modo:

por exemplo:

void limpaQuery(){

////sql="insert into saidapecas (sai_cod,cli_cod,sai_data,sai_precototal,sai_descricao,sai_notafiscal) " +

//  ResultSetMetaData rsm = rs.getMetaData();

String[] coluna;

DefaultTableModel modelo;

coluna = new String [4];

coluna[0]=“Código”;

coluna[1]=“Nome”;

coluna[2]=“Regime”;

coluna[3]=“Período”;

modelo = new DefaultTableModel(coluna,0);

JTabela.setModel(modelo);

JTabela.getColumnModel().getColumn(0).setPreferredWidth(200);

JTabela.getColumnModel().getColumn(1).setPreferredWidth(1800);

JTabela.getColumnModel().getColumn(2).setPreferredWidth(300);

JTabela.getColumnModel().getColumn(3).setPreferredWidth(300);

}

supondo q nesse exmplo a ultima coluna (originalmente) é boolean…se torna String

ViniGodoy

Seu problema é que você está usando o DefaultTableModel.

De todos os jeitos de se trabalhar com um JTable, você escolheu o mais difícil, menos encapsulado, menos produtivo e o que gera o código mais porco.

(Não fique chateado pelo comentário, quando eu comecei com Swing, também fiz essa kgada…)

Sugiro fortemente que você aprenda a criar o seu próprio TableModel, filho de AbstractTableModel. Vai reduzir a dificuldade dos tables em uns 70%, pelo menos.

Aqui tem dois excelentes artigos que explicam como trabalhar com TableModel:
http://www.informit.com/articles/article.aspx?p=332278
http://www.informit.com/articles/article.aspx?p=333472

Criado 4 de março de 2008
Ultima resposta 5 de mar. de 2008
Respostas 3
Participantes 2