com.eteks.jeks
Class JeksCellEditor
java.lang.Object
|
+--javax.swing.AbstractCellEditor
|
+--javax.swing.DefaultCellEditor
|
+--com.eteks.jeks.JeksCellEditor
- All Implemented Interfaces:
- javax.swing.CellEditor, java.io.Serializable, javax.swing.table.TableCellEditor, javax.swing.tree.TreeCellEditor
- public class JeksCellEditor
- extends javax.swing.DefaultCellEditor
Cell editor for computed and default cells. This editor enables to edit the definition
of an expression if the edited value is an instance of JeksExpression
.
- Since:
- Jeks 1.0
- Version:
- 1.0
- Author:
- Emmanuel Puybaret
- See Also:
- Serialized Form
Method Summary |
java.lang.Object |
getCellEditorValue()
Returns the table model value edited by this editor. |
java.lang.Object |
getEditedValue(java.lang.Object value)
Returns value as an editable object. |
java.lang.Object |
getModelValue(java.lang.String data,
javax.swing.table.TableModel model,
JeksCell editingCell)
Returns an object of the same wrapping class as the string
data . |
java.awt.Component |
getTableCellEditorComponent(javax.swing.JTable table,
java.lang.Object value,
boolean isSelected,
int row,
int column)
Returns the component used to edit cell values.
|
boolean |
stopCellEditing()
|
Methods inherited from class javax.swing.DefaultCellEditor |
cancelCellEditing, getClickCountToStart, getComponent, getTreeCellEditorComponent, isCellEditable, setClickCountToStart, shouldSelectCell |
Methods inherited from class javax.swing.AbstractCellEditor |
addCellEditorListener, removeCellEditorListener |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.swing.CellEditor |
addCellEditorListener, removeCellEditorListener |
JeksCellEditor
public JeksCellEditor(JeksExpressionParser parser)
- Creates a cell editor.
- Parameters:
parser
- the parser used to parse and compile the cells starting
with an assignment operator.
getCellEditorValue
public java.lang.Object getCellEditorValue()
- Returns the table model value edited by this editor.
- Overrides:
getCellEditorValue
in class javax.swing.DefaultCellEditor
stopCellEditing
public boolean stopCellEditing()
- Overrides:
stopCellEditing
in class javax.swing.DefaultCellEditor
getTableCellEditorComponent
public java.awt.Component getTableCellEditorComponent(javax.swing.JTable table,
java.lang.Object value,
boolean isSelected,
int row,
int column)
- Returns the component used to edit cell values.
Overrides
getTableCellEditorComponent ()
to use the value returned
by getEditedValue (value)
in the editor instead of the table model
value
itself.
- Overrides:
getTableCellEditorComponent
in class javax.swing.DefaultCellEditor
getEditedValue
public java.lang.Object getEditedValue(java.lang.Object value)
- Returns
value
as an editable object. If value
is an
instance of JeksExpression
the definition of the expression is returned,
if value
is a number or a date its localized string representation
is returned, otherwise the object value
itself is returned.
- Parameters:
value
- a value of the table model.
getModelValue
public java.lang.Object getModelValue(java.lang.String data,
javax.swing.table.TableModel model,
JeksCell editingCell)
- Returns an object of the same wrapping class as the string
data
. This method tries to create an instance
of one of the following classes in this order: Long
,
Double
, Date
, Boolean
or the string itself.
If the string starts with an assignment operator (equal sign =), it tries
to compile the expression to create a JeksExpression
instance.
- Parameters:
data
- a string.model
- the edited table model.editingCell
- the current editing cell.- Returns:
- an instance of either classes :
Long
, Double
,
Date
, Boolean
, String
or JeksExpression
.