Class AbstractGCellRenderer
- All Implemented Interfaces:
GComponent,FontChangeListener,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.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
FieldsModifier and TypeFieldDescriptionprotected Stringprotected Fontprotected Fontprotected intprotected Fontprotected Stringprotected Borderprotected Fontprotected Borderprotected static booleanFields 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 docking.widgets.GComponent
HTML_DISABLE_STRINGFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidfirePropertyChange(String propertyName, boolean oldValue, boolean newValue) SeeDefaultTableCellRendererclass header javadoc for more info.protected voidfirePropertyChange(String property, Object oldValue, Object newValue) SeeDefaultTableCellRendererclass header javadoc for more info.voidfontChanged(String fontId, Font f) Called when the client should update its font to the given font.protected ColorgetAlternatingBackgroundColor(JComponent parent, int row) Returns the background color appropriate for the given component.protected ColorgetBackgroundColorForRow(int row) protected Colorprotected Fontprotected ColorgetErrorForegroundColor(boolean isSelected) protected Borderprotected ColorgetUneditableForegroundColor(boolean isSelected) voidSeeDefaultTableCellRendererclass header javadoc for more info.voidrepaint()SeeDefaultTableCellRendererclass header javadoc for more info.voidrepaint(long tm, int x, int y, int width, int height) SeeDefaultTableCellRendererclass header javadoc for more info.voidSeeDefaultTableCellRendererclass header javadoc for more info.voidSeeDefaultTableCellRendererclass header javadoc for more info.voidsetBackground(Color bg) Overrides this method to ensure that the new background color is not aGColorUIResource.voidsetBaseFontId(String fontId) Sets this renderer's theme font id.protected voidsetBold()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.voidsetDropRow(int dropRow) Sets the row where DnD would perform drop operation.voidsetFixedWidthFontId(String fontId) Sets this renderer's fixed width theme font id.voidvoidsetForeground(Color fg) Overrides this method to ensure that the new foreground color is not aGColorUIResource.protected voidSets 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.voidsetShouldAlternateRowBackgroundColors(boolean alternate) voidbooleanReturn whether or not the renderer should alternate row background colors.protected voidvoidvalidate()SeeDefaultTableCellRendererclass header javadoc for more info.Methods inherited from class docking.widgets.label.AbstractHtmlLabel
getOriginalText, propertyChange, setText, updateUIMethods 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, setVerticalAlignment, setVerticalTextPositionMethods 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, 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, 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, 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface docking.widgets.GComponent
isHTMLRenderingEnabled, setHTMLRenderingEnabled
-
Field Details
-
systemAlternateRowColors
protected static boolean systemAlternateRowColors -
focusBorder
-
noFocusBorder
-
baseFontId
-
fixedWidthFontId
-
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:
-
setFixedWidthFontId
Sets this renderer's fixed width theme font id.- Parameters:
fontId- the font id- See Also:
-
setUI
-
fontChanged
Description copied from interface:FontChangeListenerCalled when the client should update its font to the given font.- Specified by:
fontChangedin interfaceFontChangeListener- Parameters:
fontId- the theme font id being updatedf- the font
-
setFont
- Overrides:
setFontin 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()SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
invalidatein classContainer
-
superValidate
protected void superValidate() -
validate
public void validate()SeeDefaultTableCellRendererclass header javadoc for more info. -
revalidate
public void revalidate()SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
revalidatein classJComponent
-
repaint
public void repaint(long tm, int x, int y, int width, int height) SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
repaintin classJComponent
-
repaint
SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
repaintin classJComponent
-
repaint
public void repaint()SeeDefaultTableCellRendererclass header javadoc for more info. -
firePropertyChange
SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
firePropertyChangein classComponent
-
firePropertyChange
SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
firePropertyChangein 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:
setForegroundin 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:
setBackgroundin classJComponent- Parameters:
bg- the new background color
-