Ich habe Beiträge gelesen, die meinen ähneln, und durch die Java tutorial page lesen, aber ich kann einfach nicht scheinen, dass das funktioniert. Ich bin mir nicht sicher, ob ich etwas Grundlegendes vermisse oder nicht ...HowTo Eine Zeile in einer JTable mit einem benutzerdefinierten TableModel entfernen
Ich habe ein benutzerdefiniertes Tabellenmodell unten, dass ich in der Lage sein muss, Zeilen zu löschen. Die Tabelle wird leer initialisiert und Zeilen werden über ein Kombinationsfeld und eine Schaltfläche zum Hinzufügen hinzugefügt. Es gibt auch eine Schaltfläche zum Löschen, die die ausgewählte Zeile aus der Tabelle löschen muss.
class TableModel extends AbstractTableModel
{
private String[] columnNames = {"Enabled", "Value" };
protected Class[] columnClasses = new Class[] { Boolean.class, String.class };
public int getColumnCount() { return columnNames.length; }
public int getRowCount() { return filters.size(); }
public String getColumnName(int col) { return columnNames[col]; }
public Class getColumnClass(int col) { return columnClasses[col]; }
public Object getValueAt(int row, int col) { ... }
public void setValueAt(Object value, int row, int col) { ... }
public void addRow(String value)
{
fireTableRowsInserted(filters.size() - 1, filters.size() - 1);
int row = filters.size() -1 ;
int col = 1;
setValueAt(value, row, col);
}
public void removeRow(int row)
{
fireTableRowsDeleted(selectedRow, selectedRow);
}
}
Ich habe bestätigt, dass selectedRow
die richtige Zeile durch Abzüge in der Konsole enthält. Die fireTableRowsDeleted
Funktion macht einfach nichts. Die Zeile existiert noch. Wie löschst du gerade eine bestimmte Zeile?
Danke,
Woher kommt das Filterobjekt? @ njozwiak – gumuruh