Onde esta addRow?

5 respostas
Tomassoni

Galera sempre usei o codigo:

private void populaTable() {
        DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
        String[] newCells = new String[model.getColumnCount()];
      
        for (int i = 0; i < newCells.length; i++) {
            newCells[0] = ((StqDTO) registros.get(i)).getForn().trim();
            newCells[1] = ((StqDTO) registros.get(i)).getCdbar().trim();
            newCells[2] = ((StqDTO) registros.get(i)).getRefx().trim();
            newCells[3] = ((StqDTO) registros.get(i)).getDescr().trim();
            newCells[4] = ((StqDTO) registros.get(i)).getNrorig().trim();
            newCells[5] = ((StqDTO) registros.get(i)).getConversao().trim();
            newCells[6] = ((StqDTO) registros.get(i)).getUnid().trim();
        }
        model.addRow(newCells);

    }

Porem com JDK 1.6 não tem o metódo addRow?
Alguém consegue ver o que tenho feito de errado.!?

5 Respostas

E

Continua onde sempre esteve:

http://java.sun.com/javase/6/docs/api/javax/swing/table/DefaultTableModel.html#addRow(java.lang.Object[])

ViniGodoy

A primeira coisa que você está fazendo errado é usar o DefaultTableModel.
A segunda é você estar copiando todos os dados, na forma de Strings, para dentro do modelo (mesmo no DefaultTableModel esse não é o jeito certo de proceder);
A terceira coisa, é usar o DefaultTableModel.

Tomassoni

Obrigado, mas continuo na mesma.
Mesmo não sendo as melhores maneiras, ele sempre fucnionou e agora não funciona…nao aparece o addRow.

ViniGodoy

É porque o addRow aceita um array de objects, não de Strings. Corrija o tipo do seu array.

Ou, melhor ainda, escreva um model próprio.

Tomassoni

Entendi, vou escrever, que precisava desse com um pouco de pressa.
Mas agora entendi. Obrigado.

Criado 13 de julho de 2010
Ultima resposta 13 de jul. de 2010
Respostas 5
Participantes 3