butler.swing.record
Class DefaultTableColumn

java.lang.Object
  extended by javax.swing.table.TableColumn
      extended by butler.swing.record.DefaultTableColumn
All Implemented Interfaces:
java.io.Serializable, javax.swing.table.TableCellRenderer
Direct Known Subclasses:
ComboTableColumn, DeleteTableColumn, ForeignKeyTableColumn

public class DefaultTableColumn
extends javax.swing.table.TableColumn
implements javax.swing.table.TableCellRenderer

Subclass of TableColumn for a ordinary table column.

Author:
Fredrik Bertilsson
See Also:
Serialized Form

Field Summary
protected  DRecordListTable.Column _desc
           
protected  javax.swing.JLabel _label
           
protected  javax.swing.event.ChangeListener _listener
           
protected  RecordListTable _table
           
 
Fields inherited from class javax.swing.table.TableColumn
CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, COLUMN_WIDTH_PROPERTY, HEADER_RENDERER_PROPERTY, HEADER_VALUE_PROPERTY, headerRenderer, headerValue, identifier, isResizable, maxWidth, minWidth, modelIndex, resizedPostingDisableCount, width
 
Constructor Summary
protected DefaultTableColumn()
           
  DefaultTableColumn(Column col)
          Creates a DefaultTableColumn representing the given Column.
  DefaultTableColumn(Column col, int width)
          Creates a DefaultTableColumn.
  DefaultTableColumn(DRecordListTable.Column desc)
           
 
Method Summary
 javax.swing.table.TableCellEditor getCellEditor()
           
 Column getColumn()
           
 java.lang.Class getColumnClass()
           
 Datatype getDatatype()
           
 DRecordListTable.Column getDescriptor()
           
 java.lang.Object getHeaderValue()
           
 boolean getResizeable()
           
 java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int row, int column)
           
 java.lang.Object getValue(Record rec)
           
protected  void initRendererLabel(javax.swing.JLabel label, java.lang.Object value, boolean isSelected)
           
 boolean isEditable()
           
 void setChangeListener(javax.swing.event.ChangeListener listener)
           
protected  void setColor(java.awt.Component comp, boolean isSelected, javax.swing.JTable table, int row, int column)
           
 void setDatatype(Datatype datatype)
           
 void setEditable(boolean flag)
           
 void setHeaderValue(java.lang.Object value)
          Changes the header value.
 void setRendererLabel(javax.swing.JLabel label)
          Changes the redering label.
 void setShowHeader(boolean flag)
           
 void setTable(RecordListTable table)
           
 boolean setValue(Record rec, java.lang.Object value)
           
 
Methods inherited from class javax.swing.table.TableColumn
addPropertyChangeListener, createDefaultHeaderRenderer, disableResizedPosting, enableResizedPosting, getCellRenderer, getHeaderRenderer, getIdentifier, getMaxWidth, getMinWidth, getModelIndex, getPreferredWidth, getPropertyChangeListeners, getResizable, getWidth, removePropertyChangeListener, setCellEditor, setCellRenderer, setHeaderRenderer, setIdentifier, setMaxWidth, setMinWidth, setModelIndex, setPreferredWidth, setResizable, setWidth, sizeWidthToFit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_desc

protected DRecordListTable.Column _desc

_label

protected javax.swing.JLabel _label

_table

protected RecordListTable _table

_listener

protected javax.swing.event.ChangeListener _listener
Constructor Detail

DefaultTableColumn

protected DefaultTableColumn()
                      throws java.lang.Exception
Throws:
java.lang.Exception

DefaultTableColumn

public DefaultTableColumn(Column col)
                   throws java.lang.Exception
Creates a DefaultTableColumn representing the given Column.

Throws:
java.lang.Exception

DefaultTableColumn

public DefaultTableColumn(Column col,
                          int width)
                   throws java.lang.Exception
Creates a DefaultTableColumn.

Parameters:
col - Table column
width - Column width
Throws:
java.lang.Exception

DefaultTableColumn

public DefaultTableColumn(DRecordListTable.Column desc)
                   throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

getCellEditor

public javax.swing.table.TableCellEditor getCellEditor()
Overrides:
getCellEditor in class javax.swing.table.TableColumn

getColumn

public Column getColumn()

getDatatype

public Datatype getDatatype()

getValue

public java.lang.Object getValue(Record rec)
                          throws java.lang.Exception
Throws:
java.lang.Exception

setDatatype

public void setDatatype(Datatype datatype)
                 throws java.lang.Exception
Throws:
java.lang.Exception

setValue

public boolean setValue(Record rec,
                        java.lang.Object value)
                 throws java.lang.Exception
Throws:
java.lang.Exception

isEditable

public boolean isEditable()

setEditable

public void setEditable(boolean flag)

setHeaderValue

public void setHeaderValue(java.lang.Object value)
Changes the header value. Default value is colum name.

Overrides:
setHeaderValue in class javax.swing.table.TableColumn

setShowHeader

public void setShowHeader(boolean flag)

getHeaderValue

public java.lang.Object getHeaderValue()
Overrides:
getHeaderValue in class javax.swing.table.TableColumn

getColumnClass

public java.lang.Class getColumnClass()

getResizeable

public boolean getResizeable()

setTable

public void setTable(RecordListTable table)

setChangeListener

public void setChangeListener(javax.swing.event.ChangeListener listener)

setRendererLabel

public void setRendererLabel(javax.swing.JLabel label)
Changes the redering label. This can be used for changing font and color.


getTableCellRendererComponent

public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table,
                                                        java.lang.Object value,
                                                        boolean isSelected,
                                                        boolean hasFocus,
                                                        int row,
                                                        int column)
Specified by:
getTableCellRendererComponent in interface javax.swing.table.TableCellRenderer

initRendererLabel

protected void initRendererLabel(javax.swing.JLabel label,
                                 java.lang.Object value,
                                 boolean isSelected)
                          throws java.lang.Exception
Throws:
java.lang.Exception

setColor

protected void setColor(java.awt.Component comp,
                        boolean isSelected,
                        javax.swing.JTable table,
                        int row,
                        int column)

getDescriptor

public DRecordListTable.Column getDescriptor()