Bom dia, estou tentando editar uma célula de uma coluna, mas ao editar com o valor novo ele retorna para o valor antigo. estou usando as seguintes classes:
classe TableModel:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Model;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
/**
*
* @author Giovanni.Chrispin
*/
public class TableModel extends AbstractTableModel{
private ArrayList linhas = null;
private String[] colunas = null;
public TableModel(ArrayList lin, String[] col){
setLinhas(lin);
setColunas(col);
}
public ArrayList getLinhas(){
return linhas;
}
public void setLinhas (ArrayList dados){
linhas = dados;
}
public String[] getColunas(){
return colunas;
}
public void setColunas (String[] nomes){
colunas = nomes;
}
public int getColumnCount(){
return colunas.length;
}
public int getRowCount(){
return linhas.size();
}
public String getColumnName(int numCol){
return colunas[numCol];
}
public Object getValueAt(int numLin, int numCol){
Object[] linha = (Object[])getLinhas().get(numLin);
return linha[numCol];
}
public boolean isCellEditable(int numLin, int numCol){
return true;
}
}
Metodo para gerar parcelas e preencher jtable:
public void preencherTabela() {
ArrayList dados = new ArrayList();
String[] colunas = new String[]{"ID", "DATA", "VALOR"};
String data = jFormattedTextField_data.getText();
String dia, mes, ano;
dia = "" + data.charAt(0) + data.charAt(1) + "/";
mes = "" + data.charAt(3) + data.charAt(4);
ano = "/" + data.charAt(6) + data.charAt(7) + data.charAt(8) + data.charAt(9);
int anoInt = Integer.parseInt("" + data.charAt(6) + data.charAt(7) + data.charAt(8) + data.charAt(9));
int mesInt = Integer.parseInt(mes);
while (i <= quantidadeParcela) {
if (mesInt < 10) {
dados.add(new Object[]{i, dia + "0" + mesInt + "/" + anoInt, nf.format(valorParcela)});
} else {
dados.add(new Object[]{i, dia + mesInt + "/" + anoInt, nf.format(valorParcela)});
}
mesInt++;
if (mesInt > 12) {
anoInt++;
mesInt = 1;
}
i++;
cont++;
}
TableModel modelo = new TableModel(dados, colunas);
jTable_parcelas.setModel(modelo);
jTable_parcelas.getColumnModel().getColumn(0).setPreferredWidth(50);
jTable_parcelas.getColumnModel().getColumn(0).setResizable(false);
jTable_parcelas.getColumnModel().getColumn(1).setPreferredWidth(200);
jTable_parcelas.getColumnModel().getColumn(1).setResizable(false);
jTable_parcelas.getColumnModel().getColumn(2).setPreferredWidth(180);
jTable_parcelas.getColumnModel().getColumn(2).setResizable(false);
jTable_parcelas.getTableHeader().setReorderingAllowed(false);
jTable_parcelas.setAutoResizeMode(jTable_parcelas.AUTO_RESIZE_OFF);
jTable_parcelas.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}