No estoy seguro de por qué esto es recursivo.StackOverflowError causado por un TableModelListener
jTable1.getModel().addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent evt) {
int sum = 0;
int i=0;
for (i =0 ; i<2; i++){
sum = sum + Integer.parseInt(jTable1.getValueAt(0, i).toString());
}
jTable1.setValueAt(sum, 0, 2);
}
});
La excepción es: (es sigue repitiendo)
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:277)
at javax.swing.JTable.convertColumnIndexToModel(JTable.java:2553)
at javax.swing.JTable.getValueAt(JTable.java:2695)
at testprogram.guitest.TestTableModel$1.tableChanged(TestTableModel.java:63)
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)
at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:259)
at javax.swing.table.DefaultTableModel.setValueAt(DefaultTableModel.java:650)
at javax.swing.JTable.setValueAt(JTable.java:2719)
Cualquier ayuda apreciada.
Sé que esto es antiguo, pero quería señalar que esto no soluciona el problema porque el modelo de tabla se cambia si se usa el método setValueAt de la tabla o el método setValueAt del modelo. La respuesta de @ jaime debería al menos ser una respuesta aceptada. – mdscruggs