Package com.illumon.iris.gui.table
Class GenericColumnRenderer
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
com.illumon.iris.gui.table.GenericColumnRenderer
- All Implemented Interfaces:
AutoResizableTableCellRenderer,ImageObserver,MenuContainer,Serializable,Accessible,SwingConstants,TableCellRenderer
- Direct Known Subclasses:
ColumnRenderer
A Generic
AutoResizableTableCellRenderer that formats items based on an input Format or toString().
Background and foreground colors are based on UI manager properties. This class will automatically resize a table's columns
if the column requests it.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields 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
ConstructorsConstructorDescriptionGenericColumnRenderer(Format formatter) GenericColumnRenderer(Format formatter, UIDefaults colorDefaults, UIDefaults fontDefaults) GenericColumnRenderer(UIDefaults colorDefaults, UIDefaults fontDefaults) -
Method Summary
Modifier and TypeMethodDescriptionvoidfirePropertyChange(String propertyName, boolean oldValue, boolean newValue) Overridden for performance reasons.protected voidfirePropertyChange(String propertyName, Object oldValue, Object newValue) Overridden for performance reasons.protected ColorgetBackground(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Get the background color of the current cell.protected UIDefaultsprotected FontGet the font for the cell.protected UIDefaultsprotected ColorgetForeground(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Get the foreground color of the current cell.protected intgetHorizontalAlignment(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Get the horizontal alignment to use for the cell.getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) protected StringGet the text to display.booleanvoidrepaint(long tm, int x, int y, int width, int height) Overridden for performance reasons.voidOverridden for performance reasons.voidOverridden for performance reasons.voidsetAutoResize(boolean autoResize) protected voidConfigure the foreground and background colors for this cell.protected booleanvoidvalidate()Overridden for performance reasons.Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods 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, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validateTreeMethods 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
GenericColumnRenderer
public GenericColumnRenderer() -
GenericColumnRenderer
-
GenericColumnRenderer
-
GenericColumnRenderer
-
-
Method Details
-
getTableCellRendererComponent
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) - Specified by:
getTableCellRendererComponentin interfaceTableCellRenderer
-
setColors
protected void setColors(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Configure the foreground and background colors for this cell. These colors are determined bygetForeground(JTable, Object, boolean, boolean, int, int)andgetBackground(JTable, Object, boolean, boolean, int, int).- Parameters:
table- The table being rendered.value- The value to render.isSelected- If this cell is selected.hasFocus- If this cell has UI focus.row- The current row number.column- The column index.
-
getBackground
protected Color getBackground(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Get the background color of the current cell. This derives the selected color, as well as the striping colors from the properties set in theUIManager.- WTable.highlightBackground - The background color for a selected row
- WTable.background1 - The even numbered row background
- WTable.background2 - The odd numbered row background
- Parameters:
table- The table being rendered.value- The value to render.isSelected- If this cell is selected.hasFocus- If this cell has focus.row- The current row number.column- The current column index.- Returns:
- A
Colorto use for this cell's background.
-
getForeground
protected Color getForeground(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Get the foreground color of the current cell. This derives the color fromUIManagerproperties. It also contains built in special handling for numbers.- WTable.foreground - The foreground color
- WTable.zeroForeground - (numbers only) The color to use for the number 0
- WTable.positiveForeground - (numbers only) The color to use for positive numbers
- WTable.negativeForeground - (numbers only) The color to use for negative numbers
- Parameters:
table- The table being rendered.value- The value being rendered.isSelected- If the cell is selected.hasFocus- If the cell has focus.row- The current row number.column- The current column index.- Returns:
- A
Colorto use for this cell's foreground.
-
getHorizontalAlignment
protected int getHorizontalAlignment(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Get the horizontal alignment to use for the cell. This defaults toSwingConstants.RIGHTfor numbers orSwingConstants.LEFTfor everything else.- Parameters:
table- The table being rendered.value- The value being rendered.isSelected- If the cell is selected.hasFocus- If the cell has focus.row- The current row number.column- The current column index.- Returns:
- The cell's horizontal alignment.
-
getFont
protected Font getFont(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Get the font for the cell. Defaults to aUIManagerproperty WTable.font.- Parameters:
table- The table being rendered.value- The value being rendered.isSelected- If the cell is selected.hasFocus- If the cell has focus.row- The current row number.column- The current column index.- Returns:
- The font to use.
-
getText
protected String getText(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Get the text to display. If noFormatwas specified at construction time, simply toString() the object. Otherwise, delegated toFormat.format(Object)- Parameters:
table- The table being rendered.value- The value being rendered.isSelected- If the cell is selected.hasFocus- If the cell has focus.row- The current row number.column- The current column index.- Returns:
- The String to render
-
validate
public void validate()Overridden for performance reasons. -
revalidate
public void revalidate()Overridden for performance reasons.- Overrides:
revalidatein classJComponent
-
repaint
public void repaint(long tm, int x, int y, int width, int height) Overridden for performance reasons.- Overrides:
repaintin classJComponent
-
repaint
Overridden for performance reasons.- Overrides:
repaintin classJComponent
-
firePropertyChange
Overridden for performance reasons.- Overrides:
firePropertyChangein classComponent
-
firePropertyChange
Overridden for performance reasons.- Overrides:
firePropertyChangein classJComponent
-
setAutoResize
public void setAutoResize(boolean autoResize) - Specified by:
setAutoResizein interfaceAutoResizableTableCellRenderer
-
isAutoResize
public boolean isAutoResize()- Specified by:
isAutoResizein interfaceAutoResizableTableCellRenderer
-
shouldApplyNumberFormatting
-
getFontDefaults
-
getColorDefaults
-