Я читал посты, похожие на мои, и читал страницу по обучению Java , но я просто не могу заставить это работать.Я не уверен, упускаю ли я что-то фундаментальное или нет ...
У меня есть пользовательская модель таблицы ниже, из которой я должен иметь возможность удалять строки.Таблица инициализируется пустой, а строки добавляются через поле со списком и кнопку добавления.Есть также кнопка удаления, которая должна удалить выбранную строку из таблицы.
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);
}
}
Я подтвердил, что selectedRow
содержит правильную строку через отпечатки в консоли.Функция fireTableRowsDeleted
просто ничего не делает.Строка все еще существует.Как вы просто удаляете конкретную строку?
Спасибо,