dsto.dfc.swing.forms
Class JTableFormEditor

java.lang.Object
  extended by dsto.dfc.swing.forms.BasicFormEditorEventSource
      extended by dsto.dfc.swing.forms.AbstractFormEditor
          extended by dsto.dfc.swing.forms.JTableFormEditor
All Implemented Interfaces:
FormEditor, Copyable, Disposable, Serializable, Cloneable

public class JTableFormEditor
extends AbstractFormEditor
implements Disposable

Edits a value in a Swing JTable. See createTableModel(java.lang.Object) for instructions on how to generate a table model for each value.

Version:
$Revision$
Author:
Matthew Phillips
See Also:
Serialized Form

Field Summary
protected  Object editorValue
           
protected  JTable table
           
 
Fields inherited from class dsto.dfc.swing.forms.AbstractFormEditor
converter, description
 
Constructor Summary
JTableFormEditor(JTable table)
           
 
Method Summary
 void commitEdits()
          Commit any changes not already committed into the value of this editor (eg a text editor will attempt to perform any uncommitted text conversions at this point).
protected  TableModel createTableModel(Object value)
          Create a table model for a value.
 void dispose()
          Dispose of the object (unregister listeners, close open resources etc).
protected  void disposeModel()
           
 Component getEditorComponent()
          Get the component, if any, that acts as a UI for this editor.
 Object getEditorValue()
          Get the current value from the form editor.
 boolean isDirectEdit()
          True if the editor directly edits the value passed in with setValue ().
 void setEditorValue(Object value)
          Loads the editor value into the table by creating a new model with
 
Methods inherited from class dsto.dfc.swing.forms.AbstractFormEditor
getEditorDescription, getPreferredValueType, setEditorDescription
 
Methods inherited from class dsto.dfc.swing.forms.BasicFormEditorEventSource
addFormEditorListener, clone, fireEditComitted, fireEditCommitRequested, fireEditCommitted, removeFormEditorListener, setFormEditorEventSource
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface dsto.dfc.swing.forms.FormEditor
addFormEditorListener, removeFormEditorListener
 

Field Detail

table

protected JTable table

editorValue

protected Object editorValue
Constructor Detail

JTableFormEditor

public JTableFormEditor(JTable table)
Method Detail

dispose

public void dispose()
Description copied from interface: Disposable
Dispose of the object (unregister listeners, close open resources etc). It should be safe to call this method more than once. Note for beans that support client event listeners: if there are listeners registered when this is called, this method should do nothing.

Specified by:
dispose in interface Disposable

disposeModel

protected void disposeModel()

getEditorComponent

public Component getEditorComponent()
Description copied from interface: FormEditor
Get the component, if any, that acts as a UI for this editor. May return null if not associated with a component.

Specified by:
getEditorComponent in interface FormEditor
Specified by:
getEditorComponent in class AbstractFormEditor

getEditorValue

public Object getEditorValue()
Description copied from interface: FormEditor
Get the current value from the form editor. At least one call to setValue () must be made beforehand.

Specified by:
getEditorValue in interface FormEditor
Specified by:
getEditorValue in class AbstractFormEditor

setEditorValue

public void setEditorValue(Object value)
                    throws IllegalFormatException
Loads the editor value into the table by creating a new model with

Specified by:
setEditorValue in interface FormEditor
Specified by:
setEditorValue in class AbstractFormEditor
Parameters:
value - The value to display.
Throws:
IllegalFormatException - if the value was not in the correct format for display by this editor. The source specified by the exception should be this FormEditor instance or a child.

isDirectEdit

public boolean isDirectEdit()
Description copied from interface: FormEditor
True if the editor directly edits the value passed in with setValue (). If false, the parent editor will be reponsible for retrieving the value from the editor and storing it.

Specified by:
isDirectEdit in interface FormEditor
Specified by:
isDirectEdit in class AbstractFormEditor

commitEdits

public void commitEdits()
                 throws IllegalFormatException
Description copied from interface: FormEditor
Commit any changes not already committed into the value of this editor (eg a text editor will attempt to perform any uncommitted text conversions at this point). Only editors that need support editing in non-atomic sessions (such as text fields) will generally do anything when this method is called. If commit is made that has not been signalled with a previous editCommitted event, the editor should fire an editCommitted event at this point. Composite editors, such as forms, will generally forward this request to their child editors.

Specified by:
commitEdits in interface FormEditor
Specified by:
commitEdits in class AbstractFormEditor
Throws:
IllegalFormatException - if the commit failed because of an illegal input or other error. The source specified by the exception should be the FormEditor instance that caused the error (ie either this editor or a child).

createTableModel

protected TableModel createTableModel(Object value)
Create a table model for a value. The default implementation knows how to create a MapTableModel for Map's. Superclasses should override this for other value types.

Returns:
The table model for value, or null if no model could be created for the value.


Copyright © 2008 Commonwealth of Australia