Copyright © 2005 Scientific Applications. All Rights Reserved.

com.sciapp.table
Class SortTableRenderer

java.lang.Object
  extended by com.sciapp.table.SortTableRenderer
All Implemented Interfaces:
Serializable, TableCellRenderer
Direct Known Subclasses:
SortTableButtonRenderer

public abstract class SortTableRenderer
extends Object
implements TableCellRenderer, Serializable

SortTableRenderer is responsible for drawing the columns of the table header. The getTableCellRendererComponent method defined in the TableCellRenderer interface returns the component used in drawing the header. Subclasses of SortTableRenderer need implement prepareRenderer, which should return the appropriate component according to which sorting method is used: ascending, descending or no sorting.

See Also:
Serialized Form

Constructor Summary
SortTableRenderer()
          Constructs a SortTableRenderer object to be used in drawing the columns of the table header.
 
Method Summary
 Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
          Returns the component used for drawing the cell.
abstract  Component prepareRenderer(int sortIndex, boolean ascending, int sortSize, boolean isPressed, Object value, int column)
          Prepares and returns the component used for drawing the column header according to the method's arguments.
abstract  void updateUI()
          Called whenever the UI changes, in order to update the components used to draw the columns of the table header.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SortTableRenderer

public SortTableRenderer()
Constructs a SortTableRenderer object to be used in drawing the columns of the table header.

Method Detail

getTableCellRendererComponent

public Component getTableCellRendererComponent(JTable table,
                                               Object value,
                                               boolean isSelected,
                                               boolean hasFocus,
                                               int row,
                                               int column)
Returns the component used for drawing the cell. This method is used to configure the renderer appropriately before drawing.

Specified by:
getTableCellRendererComponent in interface TableCellRenderer
Parameters:
table - the JTable that is asking the renderer to draw; can be null
value - the value of the cell to be rendered. It is up to the specific renderer to interpret and draw the value. For example, if value is the string "true", it could be rendered as a string or it could be rendered as a check box that is checked. null is a valid value
isSelected - true if the cell is to be rendered with the selection highlighted; otherwise false
hasFocus - if true, render cell appropriately. For example, put a special border on the cell, if the cell can be edited, render in the color used to indicate editing
row - the row index of the cell being drawn. When drawing the header, the value of row is -1
column - the column index of the cell being drawn

prepareRenderer

public abstract Component prepareRenderer(int sortIndex,
                                          boolean ascending,
                                          int sortSize,
                                          boolean isPressed,
                                          Object value,
                                          int column)
Prepares and returns the component used for drawing the column header according to the method's arguments.

Parameters:
sortIndex - the sorting order of the column. -1 indicates no sorting.
ascending - flag that is true if ascending sorting is in use, false if descending.
sortSize - the total number of sorting columns.
isPressed - flag that is true if the column is being pressed with the mouse.
value - the value of the header column.
column - the column being drawn.

updateUI

public abstract void updateUI()
Called whenever the UI changes, in order to update the components used to draw the columns of the table header.


Copyright © 2005 Scientific Applications. All Rights Reserved.