|
Appendix I |
Top Previous Next |
Source code for a ListTableModel implementation that extends javax.swing.table.DefaultTableModel
import javax.swing.table.*;
import java.util.*;
import com.sciapp.table.ListTableModel;
public class DefaultListTableModel extends DefaultTableModel implements ListTableModel {
public DefaultListTableModel() {
super();
}
public DefaultListTableModel(java.lang.Object[][] data, java.lang.Object[] columnNames) {
super(data, columnNames);
}
public DefaultListTableModel(java.lang.Object[] columnNames, int numRows) {
super(columnNames, numRows);
}
public DefaultListTableModel(int numRows, int numColumns) {
super(numRows, numColumns);
}
public DefaultListTableModel(java.util.Vector columnNames, int numRows) {
super(columnNames, numRows);
}
public DefaultListTableModel(java.util.Vector data, java.util.Vector columnNames) {
super(data, columnNames);
}
public void addRow(java.lang.Object row) {
if (row instanceof Vector)
addRow((Vector) row);
else
addRow((Object[]) row);
}
public void addRows(java.util.List addedRows) {
for (int i = 0; i < addedRows.size(); i++) {
addRow(addedRows.get(i));
}
}
public void clear() {
int prevsize = dataVector.size();
dataVector.clear();
//notify
fireTableRowsDeleted(0, prevsize);
}
public Object getCellValue(Object o, int index) {
return ((Vector) o).get(index);
}
public List getRows() {
return dataVector;
}
public void removeRows(int[] deletedRows) {
int len = deletedRows.length;
int min = deletedRows[0];
int max = deletedRows[len - 1];
while (len-- > 0) {
dataVector.removeElementAt(deletedRows[len]);
}
//notify
fireTableRowsDeleted(min, max);
}
}