// // FSCOutputTable.java // FSCApplet // // Created by jason rusoff // package FSC; import java.util.*; import javax.swing.table.AbstractTableModel; import java.lang.reflect.Array; class FSCTableModel extends AbstractTableModel { private String[] columnNames = {"Total Cost", "Stock","Ratio","Time", "Price","Discount","Tax","Length" }; private ArrayList data = new ArrayList(); public int getColumnCount() { return columnNames.length; } public void removeAll(){ data.clear(); fireTableDataChanged(); } public int getRowCount() { return data.size(); } public String getColumnName(int col) { return columnNames[col]; } public Object getValueAt(int row, int col) { String[] oneRow = (String[])data.get(row); // I could just cast to an array, methinks. return oneRow[col]; } public Class getColumnClass(int c) { return (String.class); // just strings, for now. } public void addNewRow(String newData[]) { data.add(newData); fireTableRowsInserted( (data.size() -1),(data.size()-1)); } public void setValueAt(Object value, int row, int col) { if (row < data.size()) { Array oneRow = (Array)data.get(row); oneRow.set(oneRow,col,value ); data.set(row,oneRow); }else { Array oneRow = (Array)Array.newInstance(String.class,8); oneRow.set(oneRow,col,value); data.add(oneRow); } fireTableCellUpdated(row, col);// tell 'em to refresh } }