Package dsto.dfc.swing.forms

A high-level framework supporting the assembly of UI editor components into forms.

See:
          Description

Interface Summary
Form Defines a form that acts as a host for FormEditor's.
FormEditor Defines an editor for a value, similar in concept to a JFC cell editor.
FormEditorListener Defines the events fired by a FormEditor.
 

Class Summary
AbstractFormEditor Utility base class for FormEditor's.
AbstractFormEditorComponent Abstract base class for JComponent-based FormEditor's.
AbstractShowCustomizerCommand Base implementation of the properties command that attempts to show a JavaBean's FormEditor-compliant customizer.
BasicForm Basic implementation of the Form interface.
BasicForm.EditorEntry  
BasicFormEditorEventSource Utility class for managing a set of FormEditorListener's.
CellToFormEditorAdapter Attempts to adapt a JFC TreeCellEditor/TableCellEditor implementation to the DFC FormEditor interface.
CustomizersPanel A generic host for a set of customizers (usually form editors).
CustomizersTreeModel The tree model used by CustomizersPanel.
CustomizersTreeModel.Entry An entry in the tree model.
EnumFormEditor A form editor for choosing from an enumerated set of values using either a radio box or combo box.
FontLabelEditor Form editor that displays a font as a text description.
FontSelectorEditor Form editor that allows selection of a font.
FormDialog A Form-compatible extension of DfcOkCancelDialog designed to contain FormEditor's.
FormEditorValueAdapter A form editor that acts as a simple wrapper around any FormEditor instance.
FormPanel A form editor container that hosts FormEditor's bound to properties of the editor value.
FormToCellEditorAdapter Allows any FormEditor to a be used in a JTable or JTree by adapting it to the tree/table cell editor interfaces.
JCheckBoxFormEditor A form editor that can be used to bind JCheckBox's.
JComboBoxFormEditor A form editor that can be used to bind JComboBox'es.
JFileChooserFormEditor FormEditor that wraps a JFileChooser component.
JLabelFormEditor A read-only editor binding for JLabel's.
JListFormEditor Displays a java.util.List value in a JList component.
JListSelectionFormEditor Form editor that sets the current editor value to the selected value in a JList.
JSliderFormEditor  
JTableFormEditor Edits a value in a Swing JTable.
JTextFieldFormEditor A form editor that can be used to bind any JTextComponent, including JTextField's.
JTreeSelectionFormEditor Adapts JTree to act as a single-selection editor (the selected entry in the tree is the editor value).
MultiplexFormEditor A form editor that allows selection from a number of different predefined value types.
NumericSpinnerFormEditor A numeric spinner form editor (see NumericSpinner).
PopupFormEditor Wrapper editor into which can be plugged an 'inline' editor which is displayed to the left of a '...' button, which shows a secondary 'popup' editor in a form dialog.
 

Package dsto.dfc.swing.forms Description

A high-level framework supporting the assembly of UI editor components into forms. The forms framework defines a high-level dsto.dfc.forms.FormEditor interface for form editor components (such as text fields, combo boxes, etc). This can be thought of as a generalized Swing table/tree/etc cell editor. Form editors can be assembled into forms to build complex composite editors where the loading/editing/storing of data from an underlying data structure (usually a Bean) to/from a UI customizer is fully automatic.

The simplest way to use this framework is to create and lay out the UI as usual within a dsto.dfc.forms.FormPanel (which is itself a FormEditor, allowing FormPanel's to be nested) and then bind the child UI components to properties of the Bean being edited. For example, to bind a text field to the "surname" property of a Person bean:

    Person p = new Person ();
    FormPanel panel = new FormPanel ();
    JTextField surnameField = new JTextField ();

    panel.addEditor ("surname", new JTextFieldFormEditor (surnameField));

    panel.setEditorValue (person);
  
This example uses a dsto.dfc.forms.JTextFieldFormEditor to adapt a Swing JTextField to be a form editor and then binds it to the "surname" property of the Person bean. The text field will then display this property of whichever Person is the current editor value of the panel and will allow it to be edited and stored back. Form editor adaptors are supplied for most of the standard Swing components and many DFC components implement the FormEditor interface directly.

Also see dsto.dfc.forms.FormDialog for a convenient way to manage dispaying a form in a dialog.



Copyright © 2008 Commonwealth of Australia