edu.psu.geovista.app.spreadsheet.table
Class SSTableModel

java.lang.Object
  extended byjavax.swing.table.AbstractTableModel
      extended byjavax.swing.table.DefaultTableModel
          extended byedu.psu.geovista.app.spreadsheet.table.SSTableModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.table.TableModel

public class SSTableModel
extends javax.swing.table.DefaultTableModel

See Also:
Serialized Form

Field Summary
static int BASE_COL
           
static int BASE_ROW
           
static int NUM_COL
           
static int NUM_ROW
           
 
Fields inherited from class javax.swing.table.DefaultTableModel
columnIdentifiers, dataVector
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
SSTableModel()
           
 
Method Summary
 void addColumn(java.lang.Object columnName)
           
 void addColumn(java.lang.Object columnName, java.util.Vector columnData)
           
 void clearSort()
           
 java.awt.Point getCellAddress(Cell cell)
          return a cell's edu.psu.geovista.app.spreadsheet.model address.
 java.lang.Class getColumnClass(int c)
          Jin: Even you use table.setDefaultEditor(edu.psu.geovista.app.spreadsheet.formula.Cell.class, new CellFomulaEditor(new JTextField())); It still not work since JTable.getDefaultEditor(Class columnClass) is passed in a Object.class, not edu.psu.geovista.app.spreadsheet.formula.Cell.class This is how getDefaultEditor() called: editor = getDefaultEditor(getColumnClass(column)); By default(in AbstractTableModel):getColumnClass return a Object.class.
 java.lang.String getColumnName(int col)
           
 java.lang.Object getRealModelValueAt(int row, int column)
           
 SSTable getTable()
           
 java.lang.Object getValueAt(int srow, int scolumn)
           
 void insertRow(int row, java.lang.Object[] rowData)
           
 void insertRow(int row, java.util.Vector rowData)
           
 boolean isCellEditable(int row, int column)
          All Cells other than those in column 0( which is index) are editable.
 void reCalHeader()
           
 void removeColumn(int colIndex)
           
 void removeRow(int row)
           
 void setDataVector(java.util.Vector dataVector, java.util.Vector columnIdentifiers)
          Set data
 void setTable(SSTable table)
           
 void setValueAt(java.lang.Object data, int row, int col)
           
 void sortColumns(int col, int[] cols, boolean ascending)
           
 void sortRange(int col, int[] rows, int[] cols, boolean ascending)
           
 void sortRows(int col, int[] rows, boolean ascending)
          sort rows
 void sortTable(int col, boolean ascending)
          sort entire table
 
Methods inherited from class javax.swing.table.DefaultTableModel
addColumn, addRow, addRow, convertToVector, convertToVector, getColumnCount, getDataVector, getRowCount, moveRow, newDataAvailable, newRowsAdded, rowsRemoved, setColumnCount, setColumnIdentifiers, setColumnIdentifiers, setDataVector, setNumRows, setRowCount
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NUM_ROW

public static final int NUM_ROW
See Also:
Constant Field Values

NUM_COL

public static final int NUM_COL
See Also:
Constant Field Values

BASE_ROW

public static final int BASE_ROW
See Also:
Constant Field Values

BASE_COL

public static final int BASE_COL
See Also:
Constant Field Values
Constructor Detail

SSTableModel

public SSTableModel()
Method Detail

removeColumn

public void removeColumn(int colIndex)

getRealModelValueAt

public java.lang.Object getRealModelValueAt(int row,
                                            int column)

getValueAt

public java.lang.Object getValueAt(int srow,
                                   int scolumn)

setValueAt

public void setValueAt(java.lang.Object data,
                       int row,
                       int col)
Parameters:
row - index in Model(for outside point view)

getColumnClass

public java.lang.Class getColumnClass(int c)
Jin: Even you use table.setDefaultEditor(edu.psu.geovista.app.spreadsheet.formula.Cell.class, new CellFomulaEditor(new JTextField())); It still not work since JTable.getDefaultEditor(Class columnClass) is passed in a Object.class, not edu.psu.geovista.app.spreadsheet.formula.Cell.class This is how getDefaultEditor() called: editor = getDefaultEditor(getColumnClass(column)); By default(in AbstractTableModel):getColumnClass return a Object.class. you MUST overide it and return a edu.psu.geovista.app.spreadsheet.formula.Cell.class This is same for setting edu.psu.geovista.app.spreadsheet.formula.Cell Render JTable uses this method to determine the default renderer editor for each cell. This method tells JTable to use CellRender and CellFormulaEditor.

Parameters:
c - the column for which we need to determine the class
Returns:
edu.psu.geovista.app.spreadsheet.formula.Cell class

isCellEditable

public boolean isCellEditable(int row,
                              int column)
All Cells other than those in column 0( which is index) are editable.

Parameters:
row - the row coordinate
column - the column coordinate
Returns:
true if cell is editable

getColumnName

public java.lang.String getColumnName(int col)

reCalHeader

public void reCalHeader()

addColumn

public void addColumn(java.lang.Object columnName,
                      java.util.Vector columnData)

addColumn

public void addColumn(java.lang.Object columnName)

sortTable

public void sortTable(int col,
                      boolean ascending)
sort entire table


sortRows

public void sortRows(int col,
                     int[] rows,
                     boolean ascending)
sort rows


sortColumns

public void sortColumns(int col,
                        int[] cols,
                        boolean ascending)

sortRange

public void sortRange(int col,
                      int[] rows,
                      int[] cols,
                      boolean ascending)

insertRow

public void insertRow(int row,
                      java.util.Vector rowData)

insertRow

public void insertRow(int row,
                      java.lang.Object[] rowData)

removeRow

public void removeRow(int row)
Parameters:
row - edu.psu.geovista.app.spreadsheet.model's row index if sort, it will be the index for sort edu.psu.geovista.app.spreadsheet.model. real edu.psu.geovista.app.spreadsheet.model index is transparent to outside

getCellAddress

public java.awt.Point getCellAddress(Cell cell)
return a cell's edu.psu.geovista.app.spreadsheet.model address. If table is sort, only return the sort edu.psu.geovista.app.spreadsheet.model address real edu.psu.geovista.app.spreadsheet.model address is transparent to outside


setDataVector

public void setDataVector(java.util.Vector dataVector,
                          java.util.Vector columnIdentifiers)
Set data


clearSort

public void clearSort()

getTable

public SSTable getTable()

setTable

public void setTable(SSTable table)


Copyright © 1996-2003 GeoVista Center. All Rights Reserved.