|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.swing.AbstractCellEditor
ca.odell.glazedlists.swing.TreeTableCellEditor
public class TreeTableCellEditor
This editor removes some of the burden of producing an appropriate looking
component for the hierarchy column of a tree table. Specifically, it takes
care of adding components to a panel that render a node location within the
tree, but leaves the rendering of the data of the node to
a delegate TableCellEditor that is supplied in the constructor.
For example, in the following tree representation, the spacing and +/-
icons would be added to each tree node by this editor, while the data text
would be added by the component returned from the delegate
TableCellEditor.
- Cars
+ BMW
- Ford
Taurus
Focus
- Lexus
ES 300
LS 600h L
| Field Summary |
|---|
| Fields inherited from class javax.swing.AbstractCellEditor |
|---|
changeEvent, listenerList |
| Constructor Summary | |
|---|---|
TreeTableCellEditor(TableCellEditor delegate,
TreeList treeList)
Decorate the component returned from the delegate with
extra components that display the tree nodes location within the tree. |
|
| Method Summary | |
|---|---|
protected TableCellEditor |
createDelegateEditor()
Build the delegate TableCellEditor that handles editing the data of each tree node. |
void |
dispose()
Cleanup the data within this editor as it is no longer being used and must be prepared for garbage collection. |
Object |
getCellEditorValue()
|
TableCellEditor |
getDelegate()
Returns the delegate TableCellEditor being decorated. |
protected int |
getIndent(TreeNodeData treeNodeData,
boolean showExpanderForEmptyParent)
Returns the number of pixels to indent the contents of the editor. |
protected int |
getSpacer(TreeNodeData treeNodeData,
boolean showExpanderForEmptyParent)
Returns the number of pixels of space between the expand/collapse button and the node component. |
Component |
getTableCellEditorComponent(JTable table,
Object value,
boolean isSelected,
int row,
int column)
Return a decorated form of the component returned by the data TableCellEditor. |
boolean |
isCellEditable(EventObject event)
This method checks if the event is a MouseEvent
and determines if it occurred overtop of the component created by the
delegate TableCellEditor. |
boolean |
shouldSelectCell(EventObject anEvent)
|
| Methods inherited from class javax.swing.AbstractCellEditor |
|---|
addCellEditorListener, cancelCellEditing, fireEditingCanceled, fireEditingStopped, getCellEditorListeners, removeCellEditorListener, stopCellEditing |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface javax.swing.CellEditor |
|---|
addCellEditorListener, cancelCellEditing, removeCellEditorListener, stopCellEditing |
| Constructor Detail |
|---|
public TreeTableCellEditor(TableCellEditor delegate,
TreeList treeList)
delegate with
extra components that display the tree nodes location within the tree.
If delegate is null then a
DefaultCellEditor using a JTextField will be used as
the delegate.
delegate - the editor that produces the data for the tree nodetreeList - the data structure that answers questions about the tree
node and the tree that contains it| Method Detail |
|---|
protected TableCellEditor createDelegateEditor()
public Component getTableCellEditorComponent(JTable table,
Object value,
boolean isSelected,
int row,
int column)
TableCellEditor.
getTableCellEditorComponent in interface TableCellEditor
protected int getIndent(TreeNodeData treeNodeData,
boolean showExpanderForEmptyParent)
treeNodeData - hierarhical information about the node within the treeshowExpanderForEmptyParent - true indicates the expander
button should always be present, even when no children yet exist
protected int getSpacer(TreeNodeData treeNodeData,
boolean showExpanderForEmptyParent)
treeNodeData - hierarhical information about the node within the treeshowExpanderForEmptyParent - true indicates the expander
button should always be present, even when no children yet existpublic boolean isCellEditable(EventObject event)
event is a MouseEvent
and determines if it occurred overtop of the component created by the
delegate TableCellEditor. If so, it translates the coordinates of the
event so they are relative to that component and then asks
the delegate TableCellEditor if it believes supports cell editing.
Effectively, this implies that clicks overtop of other areas of the
editor component are ignored. In truth, they are handled elsewhere (a
MouseListener on the JTable installed within TreeTableSupport).
isCellEditable in interface CellEditorisCellEditable in class AbstractCellEditorevent - the event attempting to begin a cell edit
public boolean shouldSelectCell(EventObject anEvent)
shouldSelectCell in interface CellEditorshouldSelectCell in class AbstractCellEditorpublic Object getCellEditorValue()
getCellEditorValue in interface CellEditorpublic TableCellEditor getDelegate()
public void dispose()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||