Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Açıklaması şöyle.
Şöyle yaparız.
getColumnName metodu
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
isCellEditable metodu
Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
import javax.swing.table.AbstractTableModel;
constructorŞöyle yaparız.
class DataModel extends AbstractTableModel{
ArrayList<Object[]> data = new ArrayList<Object[]>();
ArrayList<String> columnNames = new ArrayList<String>();
public DataModel(ArrayList<String> cNames){
super();
columnNames = cNames;
}
...
}
fireTableStructureChanged metoduAçıklaması şöyle.
Model notifies the view that the data has changed. This would be done by invoking the: fireTableStructureChanged(…);getColumnCount metodu
Şöyle yaparız.
public int getColumnCount()
{
return columnNames.size();
};
Şöyle yaparız.
public String getColumnName(int column)
{
return columnNames.get(column);
}
getRowCount metoduŞöyle yaparız.
public int getRowCount()
{
return data.size();
};
getValueAt metoduŞöyle yaparız.
public Object getValueAt(int rowIndex, int columnIndex){
Object[] row = data.get(rowIndex);
return row[columnIndex];
};
Şöyle yaparız.
public boolean isCellEditable(int rowIndex, int columnIndex)
{
return true;
}
public void setValueAt(Object newValue, int rowIndex, int columnIndex){
data.get(rowIndex)[columnIndex] = newValue;
fireTableDataChanged();
}
Kendi metodumuzŞöyle yaparız.
public void addRows (ArrayList<Object[]> rows) {
for (int i = 0; i < rows.size(); i++) {
Object[] clone = rows.get(i).clone();
data.add(clone);
}
fireTableDataChanged();
}