Class AbstractGCellRenderer
- All Implemented Interfaces:
GComponent
,ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
,Accessible
,SwingConstants
- Direct Known Subclasses:
GListCellRenderer
,GTableCellRenderer
It allows (but default-disables) HTML content, automatically paints alternating row background colors, and highlights the drop target in a drag-n-drop operation.
The preferred method to change the font used by this renderer is setBaseFontId(String)
.
If you would like this renderer to use a monospaced font, then, as an alternative to creating a
font ID, you can instead override getDefaultFont()
to return this
class's fixedWidthFont
. Also, the fixed width font of this class is based on the
default font set when calling setBaseFontId(String)
, so it stays up-to-date with theme
changes.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
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
Modifier and TypeFieldDescriptionprotected Font
protected Font
protected int
protected Font
protected Border
protected Font
protected Border
protected static boolean
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_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface docking.widgets.GComponent
HTML_DISABLE_STRING
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
void
firePropertyChange
(String propertyName, boolean oldValue, boolean newValue) SeeDefaultTableCellRenderer
class header javadoc for more info.protected void
firePropertyChange
(String property, Object oldValue, Object newValue) SeeDefaultTableCellRenderer
class header javadoc for more info.protected Color
getAlternatingBackgroundColor
(JComponent parent, int row) Returns the background color appropriate for the given component.protected Color
getBackgroundColorForRow
(int row) protected Color
protected Font
protected Color
getErrorForegroundColor
(boolean isSelected) protected Border
protected Color
getUneditableForegroundColor
(boolean isSelected) void
SeeDefaultTableCellRenderer
class header javadoc for more info.void
repaint()
SeeDefaultTableCellRenderer
class header javadoc for more info.void
repaint
(long tm, int x, int y, int width, int height) SeeDefaultTableCellRenderer
class header javadoc for more info.void
SeeDefaultTableCellRenderer
class header javadoc for more info.void
SeeDefaultTableCellRenderer
class header javadoc for more info.void
setBackground
(Color bg) Overrides this method to ensure that the new background color is not aGColorUIResource
.void
setBaseFontId
(String fontId) Sets this renderer's theme font id.protected void
setBold()
Sets the font of this renderer to be bold until the next time that getTableCellRenderer() is called, as it resets the font to the default font on each pass.void
setDropRow
(int dropRow) Sets the row where DnD would perform drop operation.void
void
setForeground
(Color fg) Overrides this method to ensure that the new foreground color is not aGColorUIResource
.protected void
Sets the font of this renderer to be italic until the next time that getTableCellRenderer() is called, as it resets the font to the default font on each pass.void
setShouldAlternateRowBackgroundColors
(boolean alternate) boolean
Return whether or not the renderer should alternate row background colors.protected void
void
validate()
SeeDefaultTableCellRenderer
class header javadoc for more info.Methods inherited from class docking.widgets.label.AbstractHtmlLabel
getOriginalText, propertyChange, setText, updateUI
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, setUI, setVerticalAlignment, setVerticalTextPosition
Methods 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, 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, 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, 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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface docking.widgets.GComponent
isHTMLRenderingEnabled, setHTMLRenderingEnabled
-
Field Details
-
systemAlternateRowColors
protected static boolean systemAlternateRowColors -
focusBorder
-
noFocusBorder
-
defaultFont
-
fixedWidthFont
-
boldFont
-
italicFont
-
dropRow
protected int dropRow
-
-
Constructor Details
-
AbstractGCellRenderer
public AbstractGCellRenderer()
-
-
Method Details
-
setShouldAlternateRowBackgroundColors
public void setShouldAlternateRowBackgroundColors(boolean alternate) -
shouldAlternateRowBackgroundColor
public boolean shouldAlternateRowBackgroundColor()Return whether or not the renderer should alternate row background colors.A renderer is unable to override an enforcing DISABLE_ALTERNATING_ROW_COLORS_PROPERTY system property -- if the property has disabled alternating colors (i.e., set to 'true'), this method returns false. If the property is false, individual renderers may assert control over alternating row colors.
- Returns:
- True if the rows may be painted in alternate background colors, false otherwise
- See Also:
-
getAlternatingBackgroundColor
Returns the background color appropriate for the given component. This may vary depending upon the current OS.- Parameters:
parent
- The parent being rendered -- likely a list or table.row
- The row being rendered.- Returns:
- the color
-
setBaseFontId
Sets this renderer's theme font id. This will be used to load the base font and to create the derived fonts, such as bold and fixed width.- Parameters:
fontId
- the font id- See Also:
-
setFont
- Overrides:
setFont
in classJComponent
-
checkForInvalidSetFont
-
setBold
protected void setBold()Sets the font of this renderer to be bold until the next time that getTableCellRenderer() is called, as it resets the font to the default font on each pass.- See Also:
-
setItalic
protected void setItalic()Sets the font of this renderer to be italic until the next time that getTableCellRenderer() is called, as it resets the font to the default font on each pass.- See Also:
-
getDefaultFont
-
getFixedWidthFont
-
getBoldFont
-
getItalicFont
-
setDropRow
public void setDropRow(int dropRow) Sets the row where DnD would perform drop operation.- Parameters:
dropRow
- the drop row
-
getNoFocusBorder
-
getDefaultBackgroundColor
-
getBackgroundColorForRow
-
getErrorForegroundColor
-
getUneditableForegroundColor
-
invalidate
public void invalidate()SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
invalidate
in classContainer
-
superValidate
protected void superValidate() -
validate
public void validate()SeeDefaultTableCellRenderer
class header javadoc for more info. -
revalidate
public void revalidate()SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
revalidate
in classJComponent
-
repaint
public void repaint(long tm, int x, int y, int width, int height) SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
repaint
in classJComponent
-
repaint
SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
repaint
in classJComponent
-
repaint
public void repaint()SeeDefaultTableCellRenderer
class header javadoc for more info. -
firePropertyChange
SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
firePropertyChange
in classComponent
-
firePropertyChange
SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
firePropertyChange
in classJComponent
-
setForeground
Overrides this method to ensure that the new foreground color is not aGColorUIResource
. Some Look and Feels will ignore color values that extendUIResource
, choosing instead their own custom painting behavior. By not using a UIResource, we prevent the Look and Feel from overriding this renderer's color value.- Overrides:
setForeground
in classJComponent
- Parameters:
fg
- the new foreground color
-
setBackground
Overrides this method to ensure that the new background color is not aGColorUIResource
. Some Look and Feels will ignore color values that extendUIResource
, choosing instead their own custom painting behavior. By not using a UIResource, we prevent the Look and Feel from overriding this renderer's color value.- Overrides:
setBackground
in classJComponent
- Parameters:
bg
- the new background color
-