私は鉱山に似た記事を読んでいて、Java tutorial pageで読んでいますが、これはうまくいかないようです。基本的でないものが欠けているかどうかは分かりません。カスタムTableModelでJTableの行を削除する方法
私は行を削除する必要があるカスタムテーブルモデルがあります。テーブルは空に初期化され、行はコンボボックスと追加ボタンによって追加されます。選択した行をテーブルから削除する必要がある削除ボタンもあります。
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
関数は何もしません。行はまだ存在します。どのように特定の行を削除するだけですか?
おかげで、
フィルタオブジェクトはどこから来たのですか? @njozwiak – gumuruh