Row index out of range[RESOLVIDO]

3 respostas
A

java.lang.IllegalArgumentException: Row index out of range at javax.swing.JTable.boundRow(JTable.java:2074) at javax.swing.JTable.setRowSelectionInterval(JTable.java:2097) at br.com.siscom.view.MovimentoVenda.newButtonActionPerformed(MovimentoVenda.java:637) at br.com.siscom.view.MovimentoVenda.access$1100(MovimentoVenda.java:17) at br.com.siscom.view.MovimentoVenda$FormListener.actionPerformed(MovimentoVenda.java:553) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6099)
este erro esta saindo ao clicar no botao novo do meu Jpanel.
colocarei abaixo o codigo do botao novo

br.com.siscom.bean.VendaCab V = new br.com.siscom.bean.VendaCab(); entityManager.persist(V); list.add(V); int row = list.size() - 1; masterTable.setRowSelectionInterval(row, row); masterTable.scrollRectToVisible(masterTable.getCellRect(row, 0, true)); TFcliente.requestFocus(); jTextField1.setEnabled(false);
sera que alguem conhece? prq eu ja criei um breakpoint, ele apenas pelo visto nao esta conseguindo criar nova linha na minha JTable, so que eu nao estou entendendo como resolver!

3 Respostas

Marky.Vasconcelos

Mas onde voce esta adicionando a linha no model da sua tabela?

lina

Oi,

“Linha utilizada está fora do range de linhas”, ou seja não existe essa linha em sua JTable.

Para corrigir este problema, você deverá analisar o stacktrace do erro:

O que muita gente não sabe, é que o stack deverá ser analisado na sua ordem inversa…
então ele ficaria assim:

at java.awt.Component.processMouseEvent(Component.java:6099) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at br.com.siscom.view.MovimentoVenda$FormListener.actionPerformed(MovimentoVenda.java:553) at br.com.siscom.view.MovimentoVenda.access$1100(MovimentoVenda.java:17) at br.com.siscom.view.MovimentoVenda.newButtonActionPerformed(MovimentoVenda.java:637) at javax.swing.JTable.setRowSelectionInterval(JTable.java:2097) at javax.swing.JTable.boundRow(JTable.java:2074) java.lang.IllegalArgumentException: Row index out of range

Podemos concluir que o método com problemas é setRowSelectionInterval() pois ele foi chamado pelo
actionPerformed(MovimentoVenda.java:553)

Verifique se realmente isso em seu código está correto:

int row = list.size() - 1; // Verifique se existe essa linha (row) em sua tabela! masterTable.setRowSelectionInterval(row, row); // Note que o método seleciona um Intervalo de linhas

Tchauzin!

A

eu recriei a Jtable… apaguei o form e zerei tudo…
acredito que o erro foi mesmo causado pelo Action, a questao foi que eu queria ocultar a tabela, porem ela esta em um scrool pane, e nao deixa eu definir essa funcao, ae o que fiz foi diminuir o tamanho dela pra 0,0 so que coloquei no lugar errado.
rs… :smiley:

Criado 14 de setembro de 2009
Ultima resposta 14 de set. de 2009
Respostas 3
Participantes 3