Package docking.widgets
Class AbstractGCellRenderer
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLabel
-
- docking.widgets.AbstractGCellRenderer
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.SwingConstants
- Direct Known Subclasses:
GListCellRenderer,GTableCellRenderer
public abstract class AbstractGCellRenderer extends javax.swing.JLabelA common base class for list and table renderer objects, unifying the Ghidra look and feel.It allows (but default-disables) HTML content, automatically paints alternating row background colors, and highlights the drop target in a drag-n-drop operation.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected java.awt.FontboldFontprotected java.awt.FontdefaultFontprotected intdropRowprotected java.awt.FontfixedWidthFontprotected javax.swing.border.BorderfocusBorderprotected static java.lang.StringHTML_DISABLE_STRINGprotected javax.swing.border.BordernoFocusBorderprotected static booleansystemAlternateRowColors-
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
-
-
Constructor Summary
Constructors Constructor Description AbstractGCellRenderer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfirePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)Overridden for performance reasons.protected voidfirePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)Overridden for performance reasons.protected static java.awt.ColorgetBackgroundColorForRow(int row)protected java.awt.FontgetBoldFont()protected java.awt.FontgetDefaultFont()protected java.awt.FontgetFixedWidthFont()protected javax.swing.border.BordergetNoFocusBorder()protected java.awt.ColorgetOSDependentBackgroundColor(javax.swing.JComponent parent, int row)Returns the background color appropriate for the given component.protected java.lang.StringgetText(java.lang.Object value)Return the cell renderer textvoidinvalidate()Overridden for performance reasons.voidrepaint()Overridden for performance reasons.voidrepaint(long tm, int x, int y, int width, int height)Overridden for performance reasons.voidrepaint(java.awt.Rectangle r)Overridden for performance reasons.voidrevalidate()Overridden for performance reasons.protected voidsetBold()voidsetDropRow(int dropRow)Sets the row where DnD would perform drop operation.voidsetFont(java.awt.Font f)voidsetHTMLRenderingEnabled(boolean enable)Enables and disables the rendering of HTML content in this renderer.voidsetShouldAlternateRowBackgroundColors(boolean alternate)booleanshouldAlternateRowBackgroundColor()Return whether or not the renderer should alternate row background colors.protected voidsuperSetFont(java.awt.Font font)protected voidsuperValidate()voidvalidate()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, updateUI
-
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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, 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
-
-
-
-
Field Detail
-
systemAlternateRowColors
protected static boolean systemAlternateRowColors
-
HTML_DISABLE_STRING
protected static final java.lang.String HTML_DISABLE_STRING
- See Also:
- Constant Field Values
-
focusBorder
protected final javax.swing.border.Border focusBorder
-
noFocusBorder
protected final javax.swing.border.Border noFocusBorder
-
defaultFont
protected java.awt.Font defaultFont
-
fixedWidthFont
protected java.awt.Font fixedWidthFont
-
boldFont
protected java.awt.Font boldFont
-
dropRow
protected int dropRow
-
-
Method Detail
-
setHTMLRenderingEnabled
public void setHTMLRenderingEnabled(boolean enable)
Enables and disables the rendering of HTML content in this renderer. If enabled, this renderer will interpret HTML content when the text this renderer is showing begins with <html>- Parameters:
enable- true to enable HTML rendering; false to disable it
-
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:
DISABLE_ALTERNATING_ROW_COLORS_PROPERTY
-
getOSDependentBackgroundColor
protected java.awt.Color getOSDependentBackgroundColor(javax.swing.JComponent parent, int row)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.
-
setFont
public void setFont(java.awt.Font f)
- Overrides:
setFontin classjavax.swing.JComponent
-
superSetFont
protected void superSetFont(java.awt.Font font)
-
setBold
protected void setBold()
-
setDropRow
public void setDropRow(int dropRow)
Sets the row where DnD would perform drop operation.- Parameters:
dropRow- the drop row
-
getNoFocusBorder
protected javax.swing.border.Border getNoFocusBorder()
-
getDefaultFont
protected java.awt.Font getDefaultFont()
-
getFixedWidthFont
protected java.awt.Font getFixedWidthFont()
-
getBoldFont
protected java.awt.Font getBoldFont()
-
getText
protected java.lang.String getText(java.lang.Object value)
Return the cell renderer text- Parameters:
value- Cell object value- Returns:
- A string interpretation of value; generated by calling value.toString()
-
getBackgroundColorForRow
protected static java.awt.Color getBackgroundColorForRow(int row)
-
invalidate
public void invalidate()
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
invalidatein classjava.awt.Container- Since:
- 1.5
-
superValidate
protected void superValidate()
-
validate
public void validate()
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
validatein classjava.awt.Container
-
revalidate
public void revalidate()
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
revalidatein classjavax.swing.JComponent
-
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:
repaintin classjavax.swing.JComponent
-
repaint
public void repaint(java.awt.Rectangle r)
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
repaintin classjavax.swing.JComponent
-
repaint
public void repaint()
Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
repaintin classjava.awt.Component- Since:
- 1.5
-
firePropertyChange
protected void firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
firePropertyChangein classjava.awt.Component
-
firePropertyChange
public void firePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
firePropertyChangein classjavax.swing.JComponent
-
-