Version: 1.1.1

org.biomoby.service.dashboard.treetable
Class JTreeTable.TreeTableCellEditor

java.lang.Object
  extended by javax.swing.AbstractCellEditor
      extended by org.biomoby.service.dashboard.treetable.JTreeTable.TreeTableCellEditor
All Implemented Interfaces:
Serializable, CellEditor, TableCellEditor
Enclosing class:
JTreeTable

public class JTreeTable.TreeTableCellEditor
extends AbstractCellEditor
implements TableCellEditor

TreeTableCellEditor implementation.

See Also:
Serialized Form

Constructor Summary
JTreeTable.TreeTableCellEditor()
           
 
Method Summary
 Object getCellEditorValue()
           
 Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int r, int c)
           
 boolean isCellEditable(EventObject e)
          Overridden to return false, and if the event is a mouse event it is forwarded to the tree.
 
Methods inherited from class javax.swing.AbstractCellEditor
addCellEditorListener, cancelCellEditing, getCellEditorListeners, removeCellEditorListener, shouldSelectCell, stopCellEditing
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.CellEditor
addCellEditorListener, cancelCellEditing, removeCellEditorListener, shouldSelectCell, stopCellEditing
 

Constructor Detail

JTreeTable.TreeTableCellEditor

public JTreeTable.TreeTableCellEditor()
Method Detail

getCellEditorValue

public Object getCellEditorValue()
Specified by:
getCellEditorValue in interface CellEditor

getTableCellEditorComponent

public Component getTableCellEditorComponent(JTable table,
                                             Object value,
                                             boolean isSelected,
                                             int r,
                                             int c)
Specified by:
getTableCellEditorComponent in interface TableCellEditor

isCellEditable

public boolean isCellEditable(EventObject e)
Overridden to return false, and if the event is a mouse event it is forwarded to the tree.

The behavior for this is debatable, and should really be offered as a property. By returning false, all keyboard actions are implemented in terms of the table. By returning true, the tree would get a chance to do something with the keyboard events. For the most part this is ok. But for certain keys, such as left/right, the tree will expand/collapse where as the table focus should really move to a different column. Page up/down should also be implemented in terms of the table. By returning false this also has the added benefit that clicking outside of the bounds of the tree node, but still in the tree column will select the row, whereas if this returned true that wouldn't be the case.

By returning false we are also enforcing the policy that the tree will never be editable (at least by a key sequence).

Specified by:
isCellEditable in interface CellEditor
Overrides:
isCellEditable in class AbstractCellEditor

Version: 1.1.1

Submit a bug or feature
Generated: Sat May 29 04:26:35 EDT 2010