AbstractTableModel を実装するための Oracle のモデルに従いました
これを行ったのは、テーブルに 3 つの列を含める必要があり、最初の列が JCheckBox でなければならないためです。
これが私のコードです:
public class FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel extends AbstractTableModel {
private String[] columnNames = {"Auswahl",
"Dateiname",
"Pfad"};
private Object[][] data = {
{new Boolean(true), "datei.tmp",
"/home/user/tmp"}
};
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
if (col == 0) {
return true;
} else {
return false;
}
}
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
}
ここに私の質問があります:
- JTable (
new JTable(FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel)
) は、列名とその値をどのように認識しますか? 私の AbstractTableModel にはコンストラクターがないので?! columnNames と data はそのままの名前を付ける必要があり、JTable がそれらにアクセスするためですか? - JTable に新しい値を入れるにはどうすればよいですか? columnNames と data は配列なので。それらをベクターに置き換えることはできますか? もしそうなら、どうすればこれらのベクトルを初期化できますか? myAbsTableModel のコンストラクタで?
解決策を見つけるのは非常に簡単だと思いますが、このテーブルの処理は私にとって簡単ではないので、どうもありがとうございました!