schmitzm.swing.table
Class ComponentRenderer

java.lang.Object
  extended by schmitzm.swing.table.ComponentRenderer
All Implemented Interfaces:
SwingConstants, TableCellRenderer
Direct Known Subclasses:
ComponentRenderer.JCheckBox, ComponentRenderer.JComboBox, ComponentRenderer.JTextField

public class ComponentRenderer
extends Object
implements TableCellRenderer, SwingConstants

Diese Klasse stellt einen Tabellen-Renderer fuer jede Art von Component-Objekten dar. Um z.B. einen Button oder eine Checkbox in einer JTable-Zelle darzustellen, muss mittels der Methode JTable.setDefaultRenderer(Class,TableCellRenderer) dieser Renderer fuer die entsprechende Zellwert-Klasse zugeordnet werden.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Nested Class Summary
static class ComponentRenderer.JCheckBox
          Dieser Renderer stellt das jeweilige Objekt in einer JCheckBox dar.
static class ComponentRenderer.JComboBox
          Dieser Renderer stellt das jeweilige Objekt in Form einer JComboBox dar.
static class ComponentRenderer.JTextField
          Dieser Renderer stellt das jeweilige Objekt in einem JTextField dar.
 
Field Summary
protected  int horAlign
          Horizontale Ausrichtung der Componente innerhalb der Tabellenzelle (Default: SwingConstants.CENTER).
protected  int vertAlign
          Vertikale Ausrichtung der Componente innerhalb der Tabellenzelle (Default: SwingConstants.CENTER).
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Constructor Summary
ComponentRenderer()
          Erzeugt einen neuen Zellen-Renderer.
ComponentRenderer(int horAlign, int vertAlign)
          Erzeugt einen neuen Zellen-Renderer.
 
Method Summary
protected  Component createRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
          Liefert einfach das zu Component gecastete Objekt value zurueck.
 int getHorizontalAlignment()
          Liefert die horizontale Ausrichtung der Komponente innerhalb der Tabellenzelle.
 Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
          Die von der Methode createRendererComponent(JTable,Object,boolean,boolean,int,int) gelieferte Komponente wird farblich hintelegt, wenn die Tabellenzeile selektiert ist.
 int getVerticalAlignment()
          Liefert die vertikale Ausrichtung der Komponente innerhalb der Tabellenzelle.
 void setHorizontalAlignment(int horAlign)
          Setzt die horizontale Ausrichtung der Komponente innerhalb der Tabellenzelle.
 void setVerticalAlignment(int vertAlign)
          Setzt die vertikale Ausrichtung der Komponente innerhalb der Tabellenzelle.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

horAlign

protected int horAlign
Horizontale Ausrichtung der Componente innerhalb der Tabellenzelle (Default: SwingConstants.CENTER).


vertAlign

protected int vertAlign
Vertikale Ausrichtung der Componente innerhalb der Tabellenzelle (Default: SwingConstants.CENTER).

Constructor Detail

ComponentRenderer

public ComponentRenderer(int horAlign,
                         int vertAlign)
Erzeugt einen neuen Zellen-Renderer. Die Ausrichtung ist nur relevant fuer Komponenten vom Typ AbstractButton!

Parameters:
horAlign - horizontale Ausrichtung der Komponente innerhalb der Tabellenzelle (RIGHT, LEFT, CENTER, LEADING, TRAILING aus SwingConstants; Default = CENTER)
vertAlign - vertikale Ausrichtung der Komponente innerhalb der Tabellenzelle (CENTER, TOP, BOTTOM aus SwingConstants; Default = CENTER)

ComponentRenderer

public ComponentRenderer()
Erzeugt einen neuen Zellen-Renderer.

Method Detail

getHorizontalAlignment

public int getHorizontalAlignment()
Liefert die horizontale Ausrichtung der Komponente innerhalb der Tabellenzelle.

Returns:
RIGHT, LEFT, CENTER, LEADING oder TRAILING aus SwingConstants; Default = CENTER

setHorizontalAlignment

public void setHorizontalAlignment(int horAlign)
Setzt die horizontale Ausrichtung der Komponente innerhalb der Tabellenzelle. Wirkt sich nur auf Komponenten vom Typ AbstractButton aus!

Parameters:
horAlign - (RIGHT, LEFT, CENTER, LEADING oder TRAILING aus SwingConstants)

getVerticalAlignment

public int getVerticalAlignment()
Liefert die vertikale Ausrichtung der Komponente innerhalb der Tabellenzelle.

Returns:
CENTER, TOP oder BOTTOM aus SwingConstants; Default = CENTER

setVerticalAlignment

public void setVerticalAlignment(int vertAlign)
Setzt die vertikale Ausrichtung der Komponente innerhalb der Tabellenzelle. Wirkt sich nur auf Komponenten vom Typ AbstractButton aus!

Parameters:
vertAlign - (CENTER, TOP oder BOTTOM aus SwingConstants)

getTableCellRendererComponent

public Component getTableCellRendererComponent(JTable table,
                                               Object value,
                                               boolean isSelected,
                                               boolean hasFocus,
                                               int row,
                                               int column)
Die von der Methode createRendererComponent(JTable,Object,boolean,boolean,int,int) gelieferte Komponente wird farblich hintelegt, wenn die Tabellenzeile selektiert ist.

Specified by:
getTableCellRendererComponent in interface TableCellRenderer
Parameters:
table - Tabelle in der die Zelle liegt
value - Zu rendernder Wert
isSelected - gibt an ob die Zelle aktuell selektiert ist
hasFocus - gibt an ob die Zelle aktuell den Fokus besitzt
row - Tabellenzeile der Zelle
column - Tabellenspalte der Zelle

createRendererComponent

protected Component createRendererComponent(JTable table,
                                            Object value,
                                            boolean isSelected,
                                            boolean hasFocus,
                                            int row,
                                            int column)
Liefert einfach das zu Component gecastete Objekt value zurueck. Handelt es sich bei comp nicht um ein Component-Objekt, wird der DefaultTableCellRenderer herangezogen.

Parameters:
table - Tabelle in der die Zelle liegt
value - Zu rendernde Komponente (muss eine Instanz von Component sein!!)
isSelected - gibt an ob die Zelle aktuell selektiert ist
hasFocus - gibt an ob die Zelle aktuell den Fokus besitzt
row - Tabellenzeile der Zelle
column - Tabellenspalte der Zelle