Boa tarde galera!!
Então, estou tentando fazer com que ao selecionar uma linha e clicar no botão de deletar, ele deleta da tabela e do banco de dados, estou usando AbstractTableModel.
O evento que estou usando para deletar linhas é este:
[code] /* Remove a linha especificada. */
public void removeCliente(int indiceLinha) {
linhas.remove(indiceLinha);
fireTableRowsDeleted(indiceLinha, indiceLinha);
} [/code]
Porém ao chamar esse metódo passando um valor para ele da este erro.
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 2, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:635)
at java.util.ArrayList.remove(ArrayList.java:474)
at View.TableModel.removeCliente(TableModel.java:170)
at View.ListagemAgenda.jButton3ActionPerformed(ListagemAgenda.java:253)
at View.ListagemAgenda.access$300(ListagemAgenda.java:20)
at View.ListagemAgenda$4.actionPerformed(ListagemAgenda.java:75)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
Estou usando este comando para passar a linha selecionada…
TableModel modelo = new TableModel();
int selecionada = jTable1.getSelectedRow();
JOptionPane.showMessageDialog(null, selecionada);
modelo.removeCliente(selecionada);
Esta pegando o número da linha corretamente e mesmo assim da erro…
Alguém pode me ajudar??
E na questão do banco de dados… como vou fazer para deletar exatamente a linha selecionada?
Grato!