com.vaadin.ui.


Class Form

java.lang.Object
  com.vaadin.ui.AbstractComponent
      com.vaadin.ui.AbstractField
          com.vaadin.ui.Form

All Implemented Interfaces:

Buffered, BufferedValidatable, Item, Item.Editor, Item.Viewer, Property, Property.Editor, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Property.ValueChangeListener, Property.ValueChangeNotifier, Property.Viewer, Validatable, Action.Container, Action.Notifier, Action.ShortcutNotifier, MethodEventSource, Paintable, Sizeable, VariableOwner, Component, Component.Focusable, Field, Serializable, EventListener

public class Form
extends AbstractField
implements Item.Editor, Buffered, Item, Validatable, Action.Notifier

Form component provides easy way of creating and managing sets fields.

Form is a container for fields implementing Field interface. It provides support for any layouts and provides buffering interface for easy connection of commit and discard buttons. All the form fields can be customized by adding validators, setting captions and icons, setting immediateness, etc. Also direct mechanism for replacing existing fields with selections is given.

Form provides customizable editor for classes implementing Item interface. Also the form itself implements this interface for easier connectivity to other items. To use the form as editor for an item, just connect the item to form with setItemDataSource(Item). If only a part of the item needs to be edited, setItemDataSource(Item,Collection) can be used instead. After the item has been connected to the form, the automatically created fields can be customized and new fields can be added. If you need to connect a class that does not implement Item interface, most properties of any class following bean pattern, can be accessed trough BeanItem.

Since:

3.0

Version:

6.8.18

Author:

Vaadin Ltd.

See Also:

Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.vaadin.ui.AbstractField
AbstractField.FocusShortcut, AbstractField.ReadOnlyStatusChangeEvent
 
Nested classes/interfaces inherited from class com.vaadin.ui.AbstractComponent
AbstractComponent.ComponentErrorEvent, AbstractComponent.ComponentErrorHandler
 
Nested classes/interfaces inherited from interface com.vaadin.data.Buffered
Buffered.SourceException
 
Nested classes/interfaces inherited from interface com.vaadin.data.Item
Item.Editor, Item.PropertySetChangeEvent, Item.PropertySetChangeListener, Item.PropertySetChangeNotifier, Item.Viewer
 
Nested classes/interfaces inherited from interface com.vaadin.ui.Field
Field.ValueChangeEvent
 
Nested classes/interfaces inherited from interface com.vaadin.data.Property
Property.ConversionException, Property.Editor, Property.ReadOnlyException, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Property.ValueChangeListener, Property.ValueChangeNotifier, Property.Viewer
 
Constructor Summary
Form()
          Constructs a new form with default layout.
Form(Layout formLayout)
          Constructs a new form with given Layout.
Form(Layout formLayout, FormFieldFactory fieldFactory)
          Constructs a new form with given Layout and FormFieldFactory.
 
Method Summary
<T extends Action & Action.Listener>
void
addAction(T action)
           
 void addActionHandler(Action.Handler actionHandler)
          Registers a new action handler for this container
 void addField(Object propertyId, Field field)
          Registers the field with the form and adds the field to the form layout.
 boolean addItemProperty(Object id, Property property)
          Adds a new property to form and create corresponding field.
 void addValidator(Validator validator)
          Adding validators directly to form is not supported.
 void attach()
          Notifies the component that it is connected to an application
protected  void attachField(Object propertyId, Field field)
          Adds the field to the form layout.
protected  void bindPropertyToField(Object propertyId, Property property, Field field)
          Binds an item property to a field.
 void changeVariables(Object source, Map<String,Object> variables)
          Called when one or more variables handled by the implementing class are changed.
 void commit()
          Updates all changes since the previous commit to the data source.
 void detach()
          Notifies the component that it is detached from the application.
protected  void detachField(Field field)
          Called when a form field is detached from a Form.
 void discard()
          Discards all changes since last commit.
 void focus()
          Focuses the first field in the form.
 ErrorMessage getErrorMessage()
          The error message of a Form is the error of the first field with a non-empty error.
 Field getField(Object propertyId)
          Gets the field identified by the propertyid.
 FieldFactory getFieldFactory()
          Deprecated. Use getFormFieldFactory() instead. Set the FormFieldFactory using setFormFieldFactory(FormFieldFactory).
 Layout getFooter()
          Returns a layout that is rendered below normal form contents.
 FormFieldFactory getFormFieldFactory()
          Get the field factory of the form.
 Item getItemDataSource()
          Gets the Item serving as the data source of the viewer.
 Property getItemProperty(Object id)
          The property identified by the property id.
 Collection<?> getItemPropertyIds()
          Gets the collection of IDs of all Properties stored in the Item.
 Layout getLayout()
          Gets the layout of the form.
protected  ActionManager getOwnActionManager()
          Gets the ActionManager responsible for handling Actions added to this Form.
Note that Form has another ActionManager inherited from AbstractField.
 Class<?> getType()
          Gets the field type.
 Collection<?> getVisibleItemProperties()
          Returns the visibleProperties.
protected  boolean isEmpty()
          Form is empty if all of its fields are empty.
 boolean isInvalidAllowed()
          Checks the validabtable object accept invalid values.
 boolean isModified()
          Tests if the value stored in the object has been modified since it was last updated from the data source.
 boolean isReadThrough()
          Tests if the object is in read-through mode.
 boolean isValid()
          Tests the current value of the object against all registered validators
 boolean isValidationVisibleOnCommit()
          Is validation made automatically visible on commit? See setValidationVisibleOnCommit().
 boolean isWriteThrough()
          Tests if the object is in write-through mode.
 void paintContent(PaintTarget target)
          Paints any needed component-specific things to the given UIDL stream.
<T extends Action & Action.Listener>
void
removeAction(T action)
           
 void removeActionHandler(Action.Handler actionHandler)
          Removes a previously registered action handler for the contents of this container.
 void removeAllActionHandlers()
          Removes all action handlers
 boolean removeAllProperties()
          Removes all properties and fields from the form.
 boolean removeItemProperty(Object id)
          Removes the property and corresponding field from the form.
 Select replaceWithSelect(Object propertyId, Object[] values, Object[] descriptions)
          Sets the form field to be selectable from static list of changes.
 void setEnabled(boolean enabled)
          Enables or disables the component.
 void setFieldFactory(FieldFactory fieldFactory)
          Deprecated. use setFormFieldFactory(FormFieldFactory) instead
 void setFooter(Layout newFormFooter)
          Sets the layout that is rendered below normal form contens.
protected  void setFormDataSource(Object data, Collection<?> properties)
          Updates the internal form datasource.
 void setFormFieldFactory(FormFieldFactory fieldFactory)
          Sets the field factory used by this Form to genarate Fields for properties.
 void setImmediate(boolean immediate)
          Setting the form to be immediate also sets all the fields of the form to the same state.
protected  void setInternalValue(Object newValue)
          Sets the internal value.
 void setInvalidAllowed(boolean invalidValueAllowed)
          Should the validabtable object accept invalid values.
 void setItemDataSource(Item newDataSource)
          Sets the item datasource for the form.
 void setItemDataSource(Item newDataSource, Collection<?> propertyIds)
          Set the item datasource for the form, but limit the form contents to specified properties of the item.
 void setLayout(Layout newLayout)
          Sets the layout of the form.
 void setReadOnly(boolean readOnly)
          Sets the component's to read-only mode to the specified state.
 void setReadThrough(boolean readThrough)
          Sets the object's read-through mode to the specified status.
 void setTabIndex(int tabIndex)
          Sets the Tabulator index of this Focusable component.
 void setValidationVisibleOnCommit(boolean makeVisible)
          Controls the making validation visible implicitly on commit.
 void setVisibleItemProperties(Collection<?> visibleProperties)
          Sets the visibleProperties.
 void setVisibleItemProperties(Object[] visibleProperties)
          Sets the visibleProperties.
 void setWriteThrough(boolean writeThrough)
          Sets the object's write-through mode to the specified status.
 void validate()
          Checks the validity of the validatable.
 
Methods inherited from class com.vaadin.ui.AbstractField
addListener, addListener, addShortcutListener, constructField, fireReadOnlyStatusChange, fireValueChange, getActionManager, getPropertyDataSource, getRequiredError, getTabIndex, getValidators, getValue, isInvalidCommitted, isReadOnly, isRequired, isValidationVisible, readOnlyStatusChange, removeAllValidators, removeListener, removeListener, removeShortcutListener, removeValidator, setCurrentBufferedSourceException, setInvalidCommitted, setPropertyDataSource, setRequired, setRequiredError, setValidationVisible, setValue, setValue, shouldHideErrors, toString, valueChange
 
Methods inherited from class com.vaadin.ui.AbstractComponent
addListener, addListener, addListener, addListener, addListener, addStyleName, childRequestedRepaint, fireComponentErrorEvent, fireComponentEvent, fireEvent, getApplication, getCaption, getComponentError, getData, getDebugId, getDescription, getErrorHandler, getHeight, getHeightUnits, getIcon, getListeners, getLocale, getParent, getStyle, getStyleName, getWidth, getWidthUnits, getWindow, handleError, hasListeners, isEnabled, isImmediate, isVisible, paint, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeStyleName, requestRepaint, requestRepaintRequests, setCaption, setComponentError, setData, setDebugId, setDescription, setErrorHandler, setHeight, setHeight, setHeight, setHeightUnits, setIcon, setLocale, setParent, setSizeFull, setSizeUndefined, setStyle, setStyleName, setVisible, setWidth, setWidth, setWidth, setWidthUnits
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.vaadin.data.Validatable
getValidators, removeValidator
 
Methods inherited from interface com.vaadin.ui.Field
getDescription, setCaption, setDescription
 

Constructor Detail

Form

public Form()

Constructs a new form with default layout.

By default the form uses FormLayout.

Form

public Form(Layout formLayout)

Constructs a new form with given Layout.

Parameters:
formLayout - the layout of the form.

Form

public Form(Layout formLayout,
            FormFieldFactory fieldFactory)

Constructs a new form with given Layout and FormFieldFactory.

Parameters:
formLayout - the layout of the form.
fieldFactory - the FieldFactory of the form.

Method Detail

paintContent

public void paintContent(PaintTarget target)
                  throws PaintException

Description copied from class: AbstractComponent

Paints any needed component-specific things to the given UIDL stream. The more general AbstractComponent.paint(PaintTarget) method handles all general attributes common to all components, and it calls this method to paint any component-specific attributes to the UIDL stream.

Overrides:
paintContent in class AbstractField

Parameters:
target - the target UIDL stream where the component should paint itself to
Throws:
PaintException - if the paint operation failed.

changeVariables

public void changeVariables(Object source,
                            Map<String,Object> variables)

Description copied from interface: VariableOwner

Called when one or more variables handled by the implementing class are changed.

Specified by:
changeVariables in interface VariableOwner
Overrides:
changeVariables in class AbstractField

Parameters:
source - the Source of the variable change. This is the origin of the event. For example in Web Adapter this is the request.
variables - the Mapping from variable names to new variable values.

getErrorMessage

public ErrorMessage getErrorMessage()

The error message of a Form is the error of the first field with a non-empty error. Empty error messages of the contained fields are skipped, because an empty error indicator would be confusing to the user, especially if there are errors that have something to display. This is also the reason why the calculation of the error message is separate from validation, because validation fails also on empty errors.

Overrides:
getErrorMessage in class AbstractField

Returns:
ErrorMessage containing the description of the error state of the component or null, if the component contains no errors. Extending classes should override this method if they support other error message types such as validation errors or buffering errors. The returned error message contains information about all the errors.
See Also:
AbstractComponent.getErrorMessage()

setValidationVisibleOnCommit

public void setValidationVisibleOnCommit(boolean makeVisible)

Controls the making validation visible implicitly on commit. Having commit() call setValidationVisible(true) implicitly is the default behaviour. You can disable the implicit setting by setting this property as false. It is useful, because you usually want to start with the form free of errors and only display them after the user clicks Ok. You can disable the implicit setting by setting this property as false.

Parameters:
makeVisible - If true (default), validation is made visible when commit() is called. If false, the visibility is left as it is.

isValidationVisibleOnCommit

public boolean isValidationVisibleOnCommit()

Is validation made automatically visible on commit? See setValidationVisibleOnCommit().

Returns:
true if validation is made automatically visible on commit.

commit

public void commit()
            throws Buffered.SourceException,
                   Validator.InvalidValueException

Description copied from interface: Buffered

Updates all changes since the previous commit to the data source. The value stored in the object will always be updated into the data source when commit is called.

Specified by:
commit in interface Buffered
Overrides:
commit in class AbstractField

Throws:
Buffered.SourceException - if the operation fails because of an exception is thrown by the data source. The cause is included in the exception.
Validator.InvalidValueException - if the operation fails because validation is enabled and the values do not validate

discard

public void discard()
             throws Buffered.SourceException

Description copied from interface: Buffered

Discards all changes since last commit. The object updates its value from the data source.

Specified by:
discard in interface Buffered
Overrides:
discard in class AbstractField

Throws:
Buffered.SourceException - if the operation fails because of an exception is thrown by the data source. The cause is included in the exception.

isModified

public boolean isModified()

Description copied from interface: Buffered

Tests if the value stored in the object has been modified since it was last updated from the data source.

Specified by:
isModified in interface Buffered
Overrides:
isModified in class AbstractField

Returns:
true if the value in the object has been modified since the last data source update, false if not.

isReadThrough

public boolean isReadThrough()

Description copied from interface: Buffered

Tests if the object is in read-through mode. If the object is in read-through mode, retrieving its value will result in the value being first updated from the data source to the object.

The only exception to this rule is that when the object is not in write-through mode and it's buffer contains a modified value, the value retrieved from the object will be the locally modified value in the buffer which may differ from the value in the data source.

Specified by:
isReadThrough in interface Buffered
Overrides:
isReadThrough in class AbstractField

Returns:
true if the object is in read-through mode, false if it's not.

isWriteThrough

public boolean isWriteThrough()

Description copied from interface: Buffered

Tests if the object is in write-through mode. If the object is in write-through mode, all modifications to it will result in commit being called after the modification.

Specified by:
isWriteThrough in interface Buffered
Overrides:
isWriteThrough in class AbstractField

Returns:
true if the object is in write-through mode, false if it's not.

setReadThrough

public void setReadThrough(boolean readThrough)

Description copied from interface: Buffered

Sets the object's read-through mode to the specified status. When switching read-through mode on, the object's value is updated from the data source.

Specified by:
setReadThrough in interface Buffered
Overrides:
setReadThrough in class AbstractField

Parameters:
readThrough - Boolean value to indicate if the object should be in read-through mode after the call.

setWriteThrough

public void setWriteThrough(boolean writeThrough)
                     throws Buffered.SourceException,
                            Validator.InvalidValueException

Description copied from interface: Buffered

Sets the object's write-through mode to the specified status. When switching the write-through mode on, the commit operation will be performed.

Specified by:
setWriteThrough in interface Buffered
Overrides:
setWriteThrough in class AbstractField

Parameters:
writeThrough - Boolean value to indicate if the object should be in write-through mode after the call.
Throws:
Buffered.SourceException - If the operation fails because of an exception is thrown by the data source.
Validator.InvalidValueException - If the implicit commit operation fails because of a validation error.

addItemProperty

public boolean addItemProperty(Object id,
                               Property property)

Adds a new property to form and create corresponding field.

Specified by:
addItemProperty in interface Item

Parameters:
id - ID of the new Property
property - the Property to be added and associated with the id
Returns:
true if the operation succeeded, false if not
See Also:
Item.addItemProperty(Object, Property)

addField

public void addField(Object propertyId,
                     Field field)

Registers the field with the form and adds the field to the form layout.

The property id must not be already used in the form.

This field is added to the layout using the attachField(Object, Field) method.

Parameters:
propertyId - the Property id the the field.
field - the field which should be added to the form.

attachField

protected void attachField(Object propertyId,
                           Field field)

Adds the field to the form layout.

The field is added to the form layout in the default position (the position used by ComponentContainer.addComponent(Component). If the underlying layout is a CustomLayout the field is added to the CustomLayout location given by the string representation of the property id using CustomLayout.addComponent(Component, String).

Override this method to control how the fields are added to the layout.

Parameters:
propertyId -
field -

getItemProperty

public Property getItemProperty(Object id)

The property identified by the property id.

The property data source of the field specified with property id is returned. If there is a (with specified property id) having no data source, the field is returned instead of the data source.

Specified by:
getItemProperty in interface Item

Parameters:
id - identifier of the Property to get
Returns:
the Property with the given ID or null
See Also:
Item.getItemProperty(Object)

getField

public Field getField(Object propertyId)

Gets the field identified by the propertyid.

Parameters:
propertyId - the id of the property.

getItemPropertyIds

public Collection<?> getItemPropertyIds()

Description copied from interface: Item

Gets the collection of IDs of all Properties stored in the Item.

Specified by:
getItemPropertyIds in interface Item

Returns:
unmodifiable collection containing IDs of the Properties stored the Item

removeItemProperty

public boolean removeItemProperty(Object id)

Removes the property and corresponding field from the form.

Specified by:
removeItemProperty in interface Item

Parameters:
id - ID of the Property to be removed
Returns:
true if the operation succeeded
See Also:
Item.removeItemProperty(Object)

detachField

protected void detachField(Field field)

Called when a form field is detached from a Form. Typically when a new Item is assigned to Form via setItemDataSource(Item).

Override this method to control how the fields are removed from the layout.

Parameters:
field - the field to be detached from the forms layout.

removeAllProperties

public boolean removeAllProperties()

Removes all properties and fields from the form.

Returns:
the Success of the operation. Removal of all fields succeeded if (and only if) the return value is true.

getItemDataSource

public Item getItemDataSource()

Description copied from interface: Item.Viewer

Gets the Item serving as the data source of the viewer.

Specified by:
getItemDataSource in interface Item.Viewer

Returns:
data source Item

setItemDataSource

public void setItemDataSource(Item newDataSource)

Sets the item datasource for the form.

Setting item datasource clears any fields, the form might contain and adds all the properties as fields to the form.

Specified by:
setItemDataSource in interface Item.Viewer

Parameters:
newDataSource - The new data source Item
See Also:
Item.Viewer.setItemDataSource(Item)

setItemDataSource

public void setItemDataSource(Item newDataSource,
                              Collection<?> propertyIds)

Set the item datasource for the form, but limit the form contents to specified properties of the item.

Setting item datasource clears any fields, the form might contain and adds the specified the properties as fields to the form, in the specified order.

See Also:
Item.Viewer.setItemDataSource(Item)

bindPropertyToField

protected void bindPropertyToField(Object propertyId,
                                   Property property,
                                   Field field)

Binds an item property to a field. The default behavior is to bind property straight to Field. If Property.Viewer type property (e.g. PropertyFormatter) is already set for field, the property is bound to that Property.Viewer.

Parameters:
propertyId -
property -
field -
Since:
6.7.3

getLayout

public Layout getLayout()

Gets the layout of the form.

By default form uses OrderedLayout with form -style.

Returns:
the Layout of the form.

setLayout

public void setLayout(Layout newLayout)

Sets the layout of the form.

By default form uses OrderedLayout with form -style.

Parameters:
newLayout - the Layout of the form.

replaceWithSelect

public Select replaceWithSelect(Object propertyId,
                                Object[] values,
                                Object[] descriptions)

Sets the form field to be selectable from static list of changes.

The list values and descriptions are given as array. The value-array must contain the current value of the field and the lengths of the arrays must match. Null values are not supported.

Parameters:
propertyId - the id of the property.
values -
descriptions -
Returns:
the select property generated

attach

public void attach()

Notifies the component that it is connected to an application

Specified by:
attach in interface Component
Overrides:
attach in class AbstractField

See Also:
Component.attach()

detach

public void detach()

Notifies the component that it is detached from the application.

Specified by:
detach in interface Component
Overrides:
detach in class AbstractField

See Also:
Component.detach()

isValid

public boolean isValid()

Tests the current value of the object against all registered validators

Specified by:
isValid in interface Validatable
Overrides:
isValid in class AbstractField

Returns:
true if all registered validators claim that the current value is valid or if the field is empty and not required, false otherwise.
See Also:
Validatable.isValid()

validate

public void validate()
              throws Validator.InvalidValueException

Checks the validity of the validatable.

Specified by:
validate in interface Validatable
Overrides:
validate in class AbstractField

Throws:
Validator.InvalidValueException - if the value is not valid
See Also:
Validatable.validate()

isInvalidAllowed

public boolean isInvalidAllowed()

Checks the validabtable object accept invalid values.

Specified by:
isInvalidAllowed in interface Validatable
Overrides:
isInvalidAllowed in class AbstractField

Returns:
true iff the invalid values are allowed.
See Also:
Validatable.isInvalidAllowed()

setInvalidAllowed

public void setInvalidAllowed(boolean invalidValueAllowed)
                       throws UnsupportedOperationException

Should the validabtable object accept invalid values.

Specified by:
setInvalidAllowed in interface Validatable
Overrides:
setInvalidAllowed in class AbstractField

Throws:
UnsupportedOperationException - if the setInvalidAllowed is not supported.
See Also:
Validatable.setInvalidAllowed(boolean)

setReadOnly

public void setReadOnly(boolean readOnly)

Sets the component's to read-only mode to the specified state.

Specified by:
setReadOnly in interface Property
Specified by:
setReadOnly in interface Component
Overrides:
setReadOnly in class AbstractField

Parameters:
readOnly - a boolean value specifying whether the component is put read-only mode or not
See Also:
Component.setReadOnly(boolean)

setFieldFactory

@Deprecated
public void setFieldFactory(FieldFactory fieldFactory)

Deprecated. use setFormFieldFactory(FormFieldFactory) instead

Sets the field factory of Form. FieldFactory is used to create fields for form properties. By default the form uses BaseFieldFactory to create Field instances.

Parameters:
fieldFactory - the New factory used to create the fields.
See Also:
Field, FormFieldFactory

setFormFieldFactory

public void setFormFieldFactory(FormFieldFactory fieldFactory)

Sets the field factory used by this Form to genarate Fields for properties. FormFieldFactory is used to create fields for form properties. DefaultFieldFactory is used by default.

Parameters:
fieldFactory - the new factory used to create the fields.
See Also:
Field, FormFieldFactory

getFormFieldFactory

public FormFieldFactory getFormFieldFactory()

Get the field factory of the form.

Returns:
the FormFieldFactory Factory used to create the fields.

getFieldFactory

@Deprecated
public FieldFactory getFieldFactory()

Deprecated. Use getFormFieldFactory() instead. Set the FormFieldFactory using setFormFieldFactory(FormFieldFactory).

Get the field factory of the form.

Returns:
the FieldFactory Factory used to create the fields.

getType

public Class<?> getType()

Gets the field type.

Specified by:
getType in interface Property
Specified by:
getType in class AbstractField

Returns:
type of the Property
See Also:
AbstractField.getType()

setInternalValue

protected void setInternalValue(Object newValue)

Sets the internal value. This is relevant when the Form is used as Field.

Overrides:
setInternalValue in class AbstractField

Parameters:
newValue - the new value to be set.
See Also:
AbstractField.setInternalValue(java.lang.Object)

setFormDataSource

protected void setFormDataSource(Object data,
                                 Collection<?> properties)

Updates the internal form datasource. Method setFormDataSource.

Parameters:
data -
properties -

getVisibleItemProperties

public Collection<?> getVisibleItemProperties()

Returns the visibleProperties.

Returns:
the Collection of visible Item properites.

setVisibleItemProperties

public void setVisibleItemProperties(Collection<?> visibleProperties)

Sets the visibleProperties.

Parameters:
visibleProperties - the visibleProperties to set.

setVisibleItemProperties

public void setVisibleItemProperties(Object[] visibleProperties)

Sets the visibleProperties.

Parameters:
visibleProperties - the visibleProperties to set.

focus

public void focus()

Focuses the first field in the form.

Specified by:
focus in interface Component.Focusable
Overrides:
focus in class AbstractField

See Also:
Component.Focusable.focus()

setTabIndex

public void setTabIndex(int tabIndex)

Sets the Tabulator index of this Focusable component.

Specified by:
setTabIndex in interface Component.Focusable
Overrides:
setTabIndex in class AbstractField

Parameters:
tabIndex - the tab order of this component. Indexes usually start from 1. Zero means that default tab order should be used. A negative value means that the field should not be included in the tabbing sequence.
See Also:
Component.Focusable.setTabIndex(int)

setImmediate

public void setImmediate(boolean immediate)

Setting the form to be immediate also sets all the fields of the form to the same state.

Overrides:
setImmediate in class AbstractComponent

Parameters:
immediate - the boolean value specifying if the component should be in the immediate mode after the call.
See Also:
VariableOwner.isImmediate()

isEmpty

protected boolean isEmpty()

Form is empty if all of its fields are empty.

Overrides:
isEmpty in class AbstractField

addValidator

public void addValidator(Validator validator)

Adding validators directly to form is not supported. Add the validators to form fields instead.

Specified by:
addValidator in interface Validatable
Overrides:
addValidator in class AbstractField

Parameters:
validator - the new validator to be added.

getFooter

public Layout getFooter()

Returns a layout that is rendered below normal form contents. This area can be used for example to include buttons related to form contents.

Returns:
layout rendered below normal form contents.

setFooter

public void setFooter(Layout newFormFooter)

Sets the layout that is rendered below normal form contens.

Parameters:
newFormFooter - the new Layout

setEnabled

public void setEnabled(boolean enabled)

Description copied from interface: Component

Enables or disables the component. The user can not interact disabled components, which are shown with a style that indicates the status, usually shaded in light gray color. Components are enabled by default. Children of a disabled component are automatically disabled; if a child component is explicitly set as disabled, changes in the disabled status of its parents do not change its status.

 Button enabled = new Button("Enabled");
 enabled.setEnabled(true); // The default
 layout.addComponent(enabled);
 
 Button disabled = new Button("Disabled");
 disabled.setEnabled(false);
 layout.addComponent(disabled);
 

This method will trigger a RepaintRequestEvent for the component and, if it is a ComponentContainer, for all its children recursively.

Specified by:
setEnabled in interface Component
Overrides:
setEnabled in class AbstractComponent

Parameters:
enabled - a boolean value specifying if the component should be enabled or not

getOwnActionManager

protected ActionManager getOwnActionManager()

Gets the ActionManager responsible for handling Actions added to this Form.
Note that Form has another ActionManager inherited from AbstractField. The ownActionManager handles Actions attached to this Form specifically, while the ActionManager in AbstractField delegates to the containing Window (i.e global Actions).

Returns:

addActionHandler

public void addActionHandler(Action.Handler actionHandler)

Description copied from interface: Action.Container

Registers a new action handler for this container

Specified by:
addActionHandler in interface Action.Container

Parameters:
actionHandler - the new handler to be added.

removeActionHandler

public void removeActionHandler(Action.Handler actionHandler)

Description copied from interface: Action.Container

Removes a previously registered action handler for the contents of this container.

Specified by:
removeActionHandler in interface Action.Container

Parameters:
actionHandler - the handler to be removed.

removeAllActionHandlers

public void removeAllActionHandlers()

Removes all action handlers

addAction

public <T extends Action & Action.Listener> void addAction(T action)

Specified by:
addAction in interface Action.Notifier

removeAction

public <T extends Action & Action.Listener> void removeAction(T action)

Specified by:
removeAction in interface Action.Notifier