JTable erro no .setNumRows(0) e .addRow?

ola pessoal, tenho um metodo para preencher uma JTable…
porem o .setNumRows(0) e o .addRow estao dando erro, por que sera???

public void preencher_jtable()
    {
        jTable1.getColumnModel().getColumn(0).setPreferredWidth(10);
        jTable1.getColumnModel().getColumn(1).setPreferredWidth(10);
        jTable1.getColumnModel().getColumn(2).setPreferredWidth(10);
        jTable1.getColumnModel().getColumn(3).setPreferredWidth(10);
        
        DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
        modelo.setNumRows(0);
         
        try
        {          
            while (obj_access.resultset.next()){
                modelo.addRow(new Object[]{obj_access.resultset.getString("ContratoCod"),
                         obj_access.resultset.getString("Contrato"),
                         obj_access.resultset.getString("Seller"),
                         obj_access.resultset.getString("Buyer")
                         });
                         obj_access.resultset.first();
                          
            }  
            }  
         catch (SQLException erro){
             JOptionPane.showMessageDialog(null,"Erro ao listar no JTable "+erro);
        }  
    }

aparece o seguinte erro:

C:\Users\Naoki\Documents\NetBeansProjects\Seiyo Menka\src\Formularios\editorContratos.java:439: cannot find symbol
symbol : method setNumRows(int)
location: class groovy.model.DefaultTableModel
modelo.setNumRows(0);

C:\Users\Naoki\Documents\NetBeansProjects\Seiyo Menka\src\Formularios\editorContratos.java:444: cannot find symbol
symbol : method addRow(java.lang.Object[])
location: class groovy.model.DefaultTableModel
modelo.addRow(new Object[]{obj_access.resultset.getString(“ContratoCod”),

cara… tua IDE é o netBeans?
tente mapear teu projeto no eclipse, localizar as bibliotecas e compilar novamente…
use o netBeans somente para desenho de telas e então utilize o eclipse para o restante do código…

[quote=erico_kl]cara… tua IDE é o netBeans?
tente mapear teu projeto no eclipse, localizar as bibliotecas e compilar novamente…
use o netBeans somente para desenho de telas e então utilize o eclipse para o restante do código…[/quote]

Usar 2 IDEs? Parece meio complicado, não? Até porque ambas tem capacidade e recursos suficientes para os dois trabalhos (tanto o design das telas, quanto a parte lógica da aplicação).

eu uso as 2 IDEs e não tenho problemas…
netBenas: uso somente para desenhar as telas… ele nao tem mobilidade para mexer no código gerado, alterar algum componente etc…
eclipse: uso para implementar o que o netBeans bloqueia, ou seja, os códigos gerados das telas propriamente ditas… sei que existe plugin visual pro eclipse mas sempre usei as 2 IDEs juntas e não tive problemas…

De qualquer forma, gosto não se discute (apesar de eu estar muito bem com o Eclipse + Jigloo :slight_smile: ).

Bom, não sei se posso te ajudar, mas sei que o método setNumRows está obsoleto. Veja a documentação:

Use setRowCount em seu lugar.

Consegui mais ou menos agora…
mas continua aparecendo um erro assim:

java.lang.ArrayIndexOutOfBoundsException: 0 >=0

O que significa isso??

tambem to com o mesmo problema, como vc consegui resolve-lo?
na minha aplicação em uma tela estou usando o mesmo codigo e não tah dando esse erro, mais em outra tela tah dando o erro:

D:\Danilo Costa\JAVA\Escola\src\forms\TelaAluno.java:385: cannot find symbol
symbol : method setNumRows(int)
location: class groovy.model.DefaultTableModel
tabelaFuncionario.setNumRows(0);
D:\Danilo Costa\JAVA\Escola\src\forms\TelaAluno.java:390: cannot find symbol
symbol : method addRow(java.lang.Object[])
location: class groovy.model.DefaultTableModel

meu codigo pra preencher a tabela é o seguinte:

[code] public void preencherTabela(String nomeAluno){

    ResultSet Rsp;
    Rsp = aluno.pesquisaAlunoNome(nomeAluno);
    DefaultTableModel tabelaAluno = (DefaultTableModel)jTableAluno.getModel();
    tabelaAluno.setNumRows(0);
    
    try
    {
        while(Rsp.next()){

        tabelaAluno.addRow(new Object[]{Rsp.getInt("codaluno"),Rsp.getString("nomealuno")});

        }
    }
    catch(Exception e)
    {
        JOptionPane.showMessageDialog(null, e);
    }
}[/code]

desde jah agradeço quem puder me ajudar

abraçu

Não usem o DefaultTableModel.

Ele realmente é difícil de usar e gera muitos problemas. No lugar, crie seu próprio TableModel. Nos links da minha assinatura há diversos tópicos explicando como. Mas se você não entender e tiver dúvida, abra um tópico novo que teremos prazer a te ensinar… do jeito certo.