|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jdesktop.swingx.renderer.ComponentProvider<T>
public abstract class ComponentProvider<T extends JComponent>
Abstract base class of a provider for a cell rendering component. Configures
the component's content and default visuals depending on the renderee's state
as captured in a CellContext
. It's basically re-usable across
all types of renderees (JTable, JList, JTree).
StringValue stringValue = new StringValue() {
public String getString(Object value) {
if (!(value instanceof Contributor))
return TO_STRING.getString(value);
Contributor contributor = (Contributor) value;
return contributor.lastName + ", " + contributor.firstName;
}
};
table.setDefaultRenderer(Contributor.class, new DefaultTableRenderer(
stringValue));
list.setCellRenderer(new DefaultListRenderer(stringValue));
tree.setCellRenderer(new DefaultTreeRenderer(stringValue));
Guarantees to completely configure the visual properties listed below. As a
consequence, client code (f.i. in Highlighter
s) can safely
change them without long-lasting visual artefacts.
DefaultVisuals
(which handles the first six items) subclasses
have to guarantee the alignment only.
DefaultVisuals
,
CellContext
,
DefaultTableRenderer
,
DefaultListRenderer
,
DefaultTreeRenderer
,
Serialized FormField Summary | |
---|---|
protected int |
alignment
horizontal (text) alignment of component. |
protected DefaultVisuals<T> |
defaultVisuals
configurator of default visuals. |
protected StringValue |
formatter
the converter to use for string representation. |
protected T |
rendererComponent
component to render with. |
Constructor Summary | |
---|---|
ComponentProvider()
Instantiates a default component provider with LEADING horizontal alignment and default to-String converter. |
Method Summary | |
---|---|
protected void |
configureContent(CellContext context)
Configures the renderering component's content and state from the given cell context. |
protected abstract void |
configureState(CellContext context)
Configures the renderering component's state from the given cell context. |
protected void |
configureVisuals(CellContext context)
Configures the rendering component's default visuals frome the given cell context. |
protected abstract T |
createRendererComponent()
Factory method to create and return the component to use for rendering. |
protected DefaultVisuals<T> |
createRendererController()
Factory method to create and return the DefaultVisuals used by this to configure the default visuals. |
protected abstract void |
format(CellContext context)
Formats the renderering component's content from the given cell context. |
int |
getHorizontalAlignment()
Returns the horizontal alignment. |
T |
getRendererComponent(CellContext context)
Configures and returns an appropriate component to render a cell in the given context. |
protected DefaultVisuals<T> |
getRendererController()
Intermediate exposure during refactoring... |
String |
getStringValue(CellContext context)
Returns a string representation of the content. |
StringValue |
getToStringConverter()
Returns the converter to use for obtaining the String representation. |
void |
setHorizontalAlignment(int alignment)
Sets the horizontal alignment property to configure the component with. |
void |
setToStringConverter(StringValue formatter)
Sets the StringValue to use. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected T extends JComponent rendererComponent
protected DefaultVisuals<T extends JComponent> defaultVisuals
protected int alignment
protected StringValue formatter
Constructor Detail |
---|
public ComponentProvider()
Method Detail |
---|
public T getRendererComponent(CellContext context)
context
- the cell context to configure from
public void setHorizontalAlignment(int alignment)
alignment
- the horizontal alignment to use when configuring the
rendering component.public int getHorizontalAlignment()
setHorizontalAlignment(int)
public void setToStringConverter(StringValue formatter)
formatter
- the format to use.public StringValue getToStringConverter()
public String getStringValue(CellContext context)
PENDING: This is a first attempt - we need a consistent string representation across all (new and old) theme: rendering, (pattern) filtering/highlighting, searching, auto-complete, what else??
context
- the cell context.
protected void configureVisuals(CellContext context)
context
- the cell context to configure from, must not be null.DefaultVisuals
protected void configureContent(CellContext context)
context
- the cell context to configure from, must not be null.configureState(CellContext)
,
format(CellContext)
protected abstract void format(CellContext context)
context
- the cell context to configure from, must not be null.protected abstract void configureState(CellContext context)
context
- the cell context to configure from, must not be null.protected abstract T createRendererComponent()
protected DefaultVisuals<T> createRendererController()
protected DefaultVisuals<T> getRendererController()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |