org.knime.core.data.renderer
Class AbstractPainterDataValueRenderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.knime.core.data.renderer.AbstractPainterDataValueRenderer
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, ListCellRenderer, TableCellRenderer, DataValueRenderer
Direct Known Subclasses:
BitVectorValuePixelRenderer, BitVectorValuePixelRenderer, ByteVectorValuePixelRenderer

public abstract class AbstractPainterDataValueRenderer
extends JComponent
implements DataValueRenderer

Abstract implementation of a DataValueRenderer that renders more complex scenes than just ordinary text. This abstract already supplies implementations of the getTableCellRendererComponent and getListCellRenderer methods. Subclasses usually override

Implementation Note: This class inherits from JComponent but is not supposed to be put into a component hierarchy. It should only be used for rendering.

Author:
Bernd Wiswedel, University of Konstanz
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface org.knime.core.data.renderer.DataValueRenderer
PROPERTY_PREFERRED_RENDERER
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AbstractPainterDataValueRenderer()
          Creates a default table cell renderer.
 
Method Summary
 boolean accepts(DataColumnSpec spec)
          Returns always true.
 String getDescription()
          Get a description for this renderer implementation.
 Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
          
 Component getRendererComponent(Object val)
          Get a component that visualizes a given object.
 Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
          
 void invalidate()
          Overridden for performance reasons.
 boolean isOpaque()
          Overridden for performance reasons.
 void repaint()
          Overridden for performance reasons.
 void repaint(long tm, int x, int y, int width, int height)
          Overridden for performance reasons.
 void repaint(Rectangle r)
          Overridden for performance reasons.
 void revalidate()
          Overridden for performance reasons.
 void setBackground(Color c)
          Overrides JComponent.setBackground to assign the unselected-background color to the specified color.
 void setForeground(Color c)
          Overrides JComponent.setForeground to assign the unselected-foreground color to the specified color.
protected abstract  void setValue(Object value)
          Sets the object to be rendered next.
 void updateUI()
          Notification from the UIManager that the look and feel [L&F] has changed.
 void validate()
          Overridden for performance reasons.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.knime.core.data.renderer.DataValueRenderer
getPreferredSize
 

Constructor Detail

AbstractPainterDataValueRenderer

public AbstractPainterDataValueRenderer()
Creates a default table cell renderer.

Method Detail

getDescription

public String getDescription()
Description copied from interface: DataValueRenderer
Get a description for this renderer implementation. It will serve to identify this renderer when the user has the choice of different renderer that are available. Make sure that this description is likely to be unique (if not only one of renderer with this ID is shown as available) and this description is short but "expressive" so that it can be shown as label in menus, for instance.

Specified by:
getDescription in interface DataValueRenderer
Returns:
"Default"
See Also:
DataValueRenderer.getDescription()

accepts

public boolean accepts(DataColumnSpec spec)
Returns always true.

Specified by:
accepts in interface DataValueRenderer
Parameters:
spec - The column spec to check.
Returns:
true if this renderer can be chosen to render the content of the column.
See Also:
DataValueRenderer.accepts(DataColumnSpec)

setValue

protected abstract void setValue(Object value)
Sets the object to be rendered next. This method is invoked from the getRendererComponent(Object), getTableCellRendererComponent( JTable, Object, boolean, boolean, int, int), and getListCellRendererComponent( JList, Object, int, boolean, boolean) methods.

Parameters:
value - The value to render. This is most of the time a DataValue that the derived class is supposed to render. However, it may also be null, a missing data cell or any other object.

getRendererComponent

public Component getRendererComponent(Object val)
Get a component that visualizes a given object. This object, generally, is a DataCell implementing the underlying DataValue interface. The implementation, however, needs to handle other cases as well, such as null arguments, missing DataCell or generic objects.

Specified by:
getRendererComponent in interface DataValueRenderer
Parameters:
val - The value to render
Returns:
A component displaying the content of val.

getTableCellRendererComponent

public Component getTableCellRendererComponent(JTable table,
                                               Object value,
                                               boolean isSelected,
                                               boolean hasFocus,
                                               int row,
                                               int column)

Specified by:
getTableCellRendererComponent in interface TableCellRenderer

getListCellRendererComponent

public Component getListCellRendererComponent(JList list,
                                              Object value,
                                              int index,
                                              boolean isSelected,
                                              boolean cellHasFocus)

Specified by:
getListCellRendererComponent in interface ListCellRenderer

setForeground

public void setForeground(Color c)
Overrides JComponent.setForeground to assign the unselected-foreground color to the specified color.

Overrides:
setForeground in class JComponent
Parameters:
c - set the foreground color to this value

setBackground

public void setBackground(Color c)
Overrides JComponent.setBackground to assign the unselected-background color to the specified color.

Overrides:
setBackground in class JComponent
Parameters:
c - set the background color to this value

updateUI

public void updateUI()
Notification from the UIManager that the look and feel [L&F] has changed. Replaces the current UI object with the latest version from the UIManager.

Overrides:
updateUI in class JComponent
See Also:
JComponent.updateUI()

isOpaque

public boolean isOpaque()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
isOpaque in class JComponent
See Also:
JComponent.isOpaque()

invalidate

public void invalidate()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
invalidate in class Container
See Also:
Container.invalidate()

validate

public void validate()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
validate in class Container
See Also:
Container.validate()

revalidate

public void revalidate()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
revalidate in class JComponent
See Also:
JComponent.revalidate()

repaint

public void repaint(long tm,
                    int x,
                    int y,
                    int width,
                    int height)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
repaint in class JComponent
See Also:
JComponent.repaint(long, int, int, int, int)

repaint

public void repaint(Rectangle r)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
repaint in class JComponent
See Also:
JComponent.repaint(Rectangle)

repaint

public void repaint()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
repaint in class Component
See Also:
Component.repaint()


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.