Ich habe eine benutzerdefinierte TableModel, die das AbstractTableModel erweitert.
public class IndicatorPropertyTableModel extends AbstractTableModel
Die von mir geschriebene setValueAt-Funktion wird in Fällen korrekt ausgelöst, in denen Sie einen neuen Wert in die bearbeitbare Zelle eingeben und dann zu einer anderen Zelle wechseln. Das Problem, das ich habe, ist, dass der Benutzer für die letzte bearbeitbare Zelle sofort auf einen JButton klickt, um fortzufahren. Dadurch wird die setValueAt-Funktion nicht ausgelöst und die Daten werden nicht gespeichert. Gibt es eine Möglichkeit sicherzustellen, dass dieser Wert immer gespeichert wird, wenn ein Benutzer sofort auf einen Button drückt, nachdem er eine Zelle bearbeitet hat? setValueAt-Funktion unten als Referenz, falls benötigt.
public void setValueAt(Object value, int row, int col) {
if (value == null)
return;
if (col == 0) {
//this.indicatorArguments[row].setIsSelected(value);
} else if (col == 2) {
this.indicatorArguments[row].setValue(value);
}
this.fireTableCellUpdated(row, col);
}
Vielen Dank für jede Hilfe, die Sie bereitstellen können.