Package org.jdesktop.swingx.renderer
Class CellContext
- java.lang.Object
-
- org.jdesktop.swingx.renderer.CellContext
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
CalendarCellContext
,ListCellContext
,TableCellContext
,TreeCellContext
public class CellContext extends java.lang.Object implements java.io.Serializable
Encapsulates a snapshop of cell content and default display context for usage by aComponentProvider
.One part is the super-set of properties that's traditionally passed into the core renderers' (Table-, List-, Tree-) getXXCellRendererComponent. Raw properties which define the context are
- selected
- focused
- expanded
- leaf
- foreground and background color
- border
- icon (relevant for trees only)
- editable
- PENDING: still incomplete? how about Font?
- PENDING: protected methods? Probably need to open up - derived properties should be accessible in client code.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int
column
protected javax.swing.JComponent
component
PENDING JW: maybe make this a WeakReference? Would be a more robust fix for Issue #1040-swingx.protected boolean
dropOn
protected boolean
expanded
protected boolean
focused
protected boolean
leaf
protected static javax.swing.border.Border
noFocusBorder
the default border for unfocused cells.protected int
row
private static javax.swing.border.Border
SAFE_NO_FOCUS_BORDER
?? the default border for unfocused cells.protected boolean
selected
protected java.lang.Object
value
PENDING JW: maybe make this a WeakReference? Would be a more robust fix for Issue #1040-swingx.
-
Constructor Summary
Constructors Constructor Description CellContext()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.awt.Color
getBackground()
Returns the background color of the renderered component or null if the component is nullprotected javax.swing.border.Border
getBorder()
Returns the default border of the renderered component depending on cell state.java.lang.String
getCellRendererName()
int
getColumn()
Returns the cell's column index in view coordinates as set in the install.javax.swing.JComponent
getComponent()
Returns the component the cell resides on, may be null.protected java.awt.Color
getDropCellBackground()
protected java.awt.Color
getDropCellForeground()
protected java.awt.Color
getFocusBackground()
Returns the default focused background color of the renderered component.protected javax.swing.border.Border
getFocusBorder()
Returns the default focus border of the renderered component.protected java.awt.Color
getFocusForeground()
Returns the default focused foreground color of the renderered component.protected java.awt.Font
getFont()
Returns the Font of the target component or null if no component installed.protected java.awt.Color
getForeground()
Returns the foreground color of the renderered component or null if the component is nulljavax.swing.Icon
getIcon()
Returns the icon.private static javax.swing.border.Border
getNoFocusBorder()
Returns the shared border for unfocused cells.int
getRow()
Returns the cell's row index in view coordinates as set in the install.protected java.awt.Color
getSelectionBackground()
Returns the default selection background color of the renderered component.protected java.awt.Color
getSelectionForeground()
Returns the default selection foreground color of the renderered component.protected java.lang.String
getUIKey(java.lang.String key)
Convenience method to build a component type specific lookup key for the UIManager.protected java.lang.String
getUIPrefix()
Returns the component type specific prefix of keys for lookup in the UIManager.java.lang.Object
getValue()
Returns the value of the cell as set in the install.protected void
installState(java.lang.Object value, int row, int column, boolean selected, boolean focused, boolean expanded, boolean leaf)
Sets the state of the cell's context.protected boolean
isDropOn()
Returns a boolean indicating if the cell is a drop location with any of the dropOn modes.boolean
isEditable()
Returns the cell's editability.boolean
isExpanded()
Returns the expanded state as set in the install.boolean
isFocused()
Returns the focused state as set in the install.boolean
isLeaf()
Returns the leaf state as set in the install.boolean
isSelected()
Returns the selected state as set in the install.java.lang.Object
replaceValue(java.lang.Object value)
Replaces the value of this cell context with the given parameter and returns the replaced value.
-
-
-
Field Detail
-
noFocusBorder
protected static javax.swing.border.Border noFocusBorder
the default border for unfocused cells.
-
SAFE_NO_FOCUS_BORDER
private static final javax.swing.border.Border SAFE_NO_FOCUS_BORDER
?? the default border for unfocused cells. ??
-
component
protected transient javax.swing.JComponent component
PENDING JW: maybe make this a WeakReference? Would be a more robust fix for Issue #1040-swingx.
-
value
protected transient java.lang.Object value
PENDING JW: maybe make this a WeakReference? Would be a more robust fix for Issue #1040-swingx.
-
row
protected transient int row
-
column
protected transient int column
-
selected
protected transient boolean selected
-
focused
protected transient boolean focused
-
expanded
protected transient boolean expanded
-
leaf
protected transient boolean leaf
-
dropOn
protected transient boolean dropOn
-
-
Method Detail
-
getNoFocusBorder
private static javax.swing.border.Border getNoFocusBorder()
Returns the shared border for unfocused cells.PENDING: ?? copied from default renderers - why is it done like this?
- Returns:
- the border for unfocused cells.
-
installState
protected void installState(java.lang.Object value, int row, int column, boolean selected, boolean focused, boolean expanded, boolean leaf)
Sets the state of the cell's context. Convenience method for subclasses.- Parameters:
value
- the content value of the cellrow
- the cell's row index in view coordinatescolumn
- the cell's column index in view coordinatesselected
- the cell's selected statefocused
- the cell's focused stateexpanded
- the cell's expanded stateleaf
- the cell's leaf state
-
replaceValue
public java.lang.Object replaceValue(java.lang.Object value)
Replaces the value of this cell context with the given parameter and returns the replaced value.- Parameters:
value
- the new value of the cell context- Returns:
- the replaced value of the cell context
-
getComponent
public javax.swing.JComponent getComponent()
Returns the component the cell resides on, may be null. Subclasses are expected to override and return the component type they are handling.- Returns:
- the component the cell resides on, may be null.
-
getValue
public java.lang.Object getValue()
Returns the value of the cell as set in the install.- Returns:
- the content value of the cell.
-
getRow
public int getRow()
Returns the cell's row index in view coordinates as set in the install.- Returns:
- the cell's row index.
-
getColumn
public int getColumn()
Returns the cell's column index in view coordinates as set in the install.- Returns:
- the cell's column index.
-
isSelected
public boolean isSelected()
Returns the selected state as set in the install.- Returns:
- the cell's selected state.
-
isFocused
public boolean isFocused()
Returns the focused state as set in the install.- Returns:
- the cell's focused state.
-
isExpanded
public boolean isExpanded()
Returns the expanded state as set in the install.- Returns:
- the cell's expanded state.
-
isLeaf
public boolean isLeaf()
Returns the leaf state as set in the install.- Returns:
- the cell's leaf state.
-
isEditable
public boolean isEditable()
Returns the cell's editability. Subclasses should override to return a reasonable cell-related state.Here: false.
- Returns:
- the cell's editable property.
-
getIcon
public javax.swing.Icon getIcon()
Returns the icon. Subclasses should override to return a reasonable cell-related state.Here:
null
.- Returns:
- the cell's icon.
-
isDropOn
protected boolean isDropOn()
Returns a boolean indicating if the cell is a drop location with any of the dropOn modes. It's up to subclasses to implement.Here: false.
- Returns:
- true if the current cell is a drop location with any of the dropOn modes, false otherwise
-
getForeground
protected java.awt.Color getForeground()
Returns the foreground color of the renderered component or null if the component is nullPENDING: fallback to UI properties if comp == null?
- Returns:
- the foreground color of the rendered component.
-
getBackground
protected java.awt.Color getBackground()
Returns the background color of the renderered component or null if the component is nullPENDING: fallback to UI properties if comp == null?
- Returns:
- the background color of the rendered component.
-
getSelectionBackground
protected java.awt.Color getSelectionBackground()
Returns the default selection background color of the renderered component. Typically, the color is LF specific. It's up to subclasses to look it up. Here: returns null.PENDING: return UI properties here?
- Returns:
- the selection background color of the rendered component.
-
getSelectionForeground
protected java.awt.Color getSelectionForeground()
Returns the default selection foreground color of the renderered component. Typically, the color is LF specific. It's up to subclasses to look it up. Here: returns null.PENDING: return UI properties here?
- Returns:
- the selection foreground color of the rendered component.
-
getFocusBorder
protected javax.swing.border.Border getFocusBorder()
Returns the default focus border of the renderered component. Typically, the border is LF specific.- Returns:
- the focus border of the rendered component.
-
getBorder
protected javax.swing.border.Border getBorder()
Returns the default border of the renderered component depending on cell state. Typically, the border is LF specific.Here: returns the focus border if the cell is focused, the context defined no focus border otherwise.
- Returns:
- the default border of the rendered component.
-
getFocusForeground
protected java.awt.Color getFocusForeground()
Returns the default focused foreground color of the renderered component. Typically, the color is LF specific.- Returns:
- the focused foreground color of the rendered component.
-
getFocusBackground
protected java.awt.Color getFocusBackground()
Returns the default focused background color of the renderered component. Typically, the color is LF specific.- Returns:
- the focused background color of the rendered component.
-
getDropCellForeground
protected java.awt.Color getDropCellForeground()
-
getDropCellBackground
protected java.awt.Color getDropCellBackground()
-
getUIKey
protected java.lang.String getUIKey(java.lang.String key)
Convenience method to build a component type specific lookup key for the UIManager.- Parameters:
key
- the general part of the key- Returns:
- a composed key build of a component type prefix and the input.
-
getUIPrefix
protected java.lang.String getUIPrefix()
Returns the component type specific prefix of keys for lookup in the UIManager. Subclasses must override, here: returns the empty String.- Returns:
- the component type specific prefix.
-
getFont
protected java.awt.Font getFont()
Returns the Font of the target component or null if no component installed.- Returns:
-
getCellRendererName
public java.lang.String getCellRendererName()
-
-