Package com.vaadin.ui
Class AbstractFocusable
- java.lang.Object
-
- com.vaadin.server.AbstractClientConnector
-
- com.vaadin.ui.AbstractComponent
-
- com.vaadin.ui.AbstractFocusable
-
- All Implemented Interfaces:
ContextClickEvent.ContextClickNotifier
,FieldEvents.BlurNotifier
,FieldEvents.FocusNotifier
,MethodEventSource
,ClientConnector
,Sizeable
,Connector
,Component
,Component.Focusable
,Serializable
public abstract class AbstractFocusable extends AbstractComponent implements Component.Focusable, FieldEvents.FocusNotifier, FieldEvents.BlurNotifier
An abstract base class for focusable components. Includes API for setting the tab index, programmatic focusing, and adding focus and blur listeners.- Since:
- 7.6
- Author:
- Vaadin Ltd
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
-
Nested classes/interfaces inherited from interface com.vaadin.ui.Component
Component.ErrorEvent, Component.Event, Component.Focusable, Component.Listener
-
Nested classes/interfaces inherited from interface com.vaadin.server.Sizeable
Sizeable.Unit
-
-
Field Summary
-
Fields inherited from class com.vaadin.ui.AbstractComponent
DESIGN_ATTR_PLAIN_TEXT
-
Fields inherited from interface com.vaadin.server.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractFocusable()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addBlurListener(FieldEvents.BlurListener listener)
Adds aBlurListener
to the Component which gets fired when aField
loses keyboard focus.void
addFocusListener(FieldEvents.FocusListener listener)
Adds aFocusListener
to the Component which gets fired when aField
receives keyboard focus.void
addListener(FieldEvents.BlurListener listener)
Deprecated.As of 7.0, replaced byaddBlurListener(BlurListener)
void
addListener(FieldEvents.FocusListener listener)
Deprecated.As of 7.0, replaced byaddFocusListener(FocusListener)
void
focus()
Sets the focus for this component if the component isComponent.Focusable
.protected TabIndexState
getState()
Returns the shared state bean with information to be sent from the server to the client.protected TabIndexState
getState(boolean markAsDirty)
Returns the shared state for this connector.int
getTabIndex()
Gets the tabulator index of theFocusable
component.void
removeBlurListener(FieldEvents.BlurListener listener)
Removes aBlurListener
from the Component.void
removeFocusListener(FieldEvents.FocusListener listener)
Removes aFocusListener
from the Component.void
removeListener(FieldEvents.BlurListener listener)
Deprecated.As of 7.0, replaced byremoveBlurListener(BlurListener)
void
removeListener(FieldEvents.FocusListener listener)
Deprecated.As of 7.0, replaced byremoveFocusListener(FocusListener)
void
setTabIndex(int tabIndex)
Sets the tabulator index of theFocusable
component.-
Methods inherited from class com.vaadin.ui.AbstractComponent
addContextClickListener, addListener, addShortcutListener, addStyleName, attach, beforeClientResponse, detach, findAncestor, fireComponentErrorEvent, fireComponentEvent, getActionManager, getCaption, getComponentError, getCustomAttributes, getData, getDebugId, getDescription, getErrorMessage, getExplicitImmediateValue, getHeight, getHeightUnits, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getWidth, getWidthUnits, isCaptionAsHtml, isConnectorEnabled, isEnabled, isImmediate, isOrHasAncestor, isReadOnly, isResponsive, isVisible, readDesign, removeContextClickListener, removeListener, removeShortcutListener, removeStyleName, setCaption, setCaptionAsHtml, setComponentError, setData, setDebugId, setDescription, setEnabled, setHeight, setHeight, setHeightUndefined, setIcon, setId, setImmediate, setLocale, setParent, setPrimaryStyleName, setReadOnly, setResponsive, setSizeFull, setSizeUndefined, setStyleName, setStyleName, setVisible, setWidth, setWidth, setWidthUndefined, writeDesign
-
Methods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isThis, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, beforeClientResponse, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirty, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
-
Methods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, attach, getCaption, getDescription, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getUI, isEnabled, isReadOnly, isVisible, readDesign, removeListener, removeStyleName, setCaption, setEnabled, setIcon, setId, setParent, setPrimaryStyleName, setReadOnly, setStyleName, setVisible, writeDesign
-
Methods inherited from interface com.vaadin.shared.Connector
getConnectorId
-
Methods inherited from interface com.vaadin.server.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightUndefined, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthUndefined
-
-
-
-
Method Detail
-
addBlurListener
public void addBlurListener(FieldEvents.BlurListener listener)
Description copied from interface:FieldEvents.BlurNotifier
Adds aBlurListener
to the Component which gets fired when aField
loses keyboard focus.- Specified by:
addBlurListener
in interfaceFieldEvents.BlurNotifier
- See Also:
FieldEvents.BlurListener
-
addListener
@Deprecated public void addListener(FieldEvents.BlurListener listener)
Deprecated.As of 7.0, replaced byaddBlurListener(BlurListener)
- Specified by:
addListener
in interfaceFieldEvents.BlurNotifier
-
removeBlurListener
public void removeBlurListener(FieldEvents.BlurListener listener)
Description copied from interface:FieldEvents.BlurNotifier
Removes aBlurListener
from the Component.- Specified by:
removeBlurListener
in interfaceFieldEvents.BlurNotifier
- See Also:
FieldEvents.BlurListener
-
removeListener
@Deprecated public void removeListener(FieldEvents.BlurListener listener)
Deprecated.As of 7.0, replaced byremoveBlurListener(BlurListener)
- Specified by:
removeListener
in interfaceFieldEvents.BlurNotifier
-
addFocusListener
public void addFocusListener(FieldEvents.FocusListener listener)
Description copied from interface:FieldEvents.FocusNotifier
Adds aFocusListener
to the Component which gets fired when aField
receives keyboard focus.- Specified by:
addFocusListener
in interfaceFieldEvents.FocusNotifier
- See Also:
FieldEvents.FocusListener
-
addListener
@Deprecated public void addListener(FieldEvents.FocusListener listener)
Deprecated.As of 7.0, replaced byaddFocusListener(FocusListener)
- Specified by:
addListener
in interfaceFieldEvents.FocusNotifier
-
removeFocusListener
public void removeFocusListener(FieldEvents.FocusListener listener)
Description copied from interface:FieldEvents.FocusNotifier
Removes aFocusListener
from the Component.- Specified by:
removeFocusListener
in interfaceFieldEvents.FocusNotifier
- See Also:
FieldEvents.FocusListener
-
removeListener
@Deprecated public void removeListener(FieldEvents.FocusListener listener)
Deprecated.As of 7.0, replaced byremoveFocusListener(FocusListener)
- Specified by:
removeListener
in interfaceFieldEvents.FocusNotifier
-
focus
public void focus()
Description copied from class:AbstractComponent
Sets the focus for this component if the component isComponent.Focusable
.- Specified by:
focus
in interfaceComponent.Focusable
- Overrides:
focus
in classAbstractComponent
- See Also:
FieldEvents
,FieldEvents.FocusEvent
,FieldEvents.FocusListener
,FieldEvents.BlurEvent
,FieldEvents.BlurListener
-
getTabIndex
public int getTabIndex()
Description copied from interface:Component.Focusable
Gets the tabulator index of theFocusable
component.- Specified by:
getTabIndex
in interfaceComponent.Focusable
- Returns:
- tab index set for the
Focusable
component - See Also:
Component.Focusable.setTabIndex(int)
-
setTabIndex
public void setTabIndex(int tabIndex)
Description copied from interface:Component.Focusable
Sets the tabulator index of theFocusable
component. The tab index property is used to specify the order in which the fields are focused when the user presses the Tab key. Components with a defined tab index are focused sequentially first, and then the components with no tab index.Form loginBox = new Form(); loginBox.setCaption("Login"); layout.addComponent(loginBox); // Create the first field which will be focused TextField username = new TextField("User name"); loginBox.addField("username", username); // Set focus to the user name username.focus(); TextField password = new TextField("Password"); loginBox.addField("password", password); Button login = new Button("Login"); loginBox.getFooter().addComponent(login); // An additional component which natural focus order would // be after the button. CheckBox remember = new CheckBox("Remember me"); loginBox.getFooter().addComponent(remember); username.setTabIndex(1); password.setTabIndex(2); remember.setTabIndex(3); // Different than natural place login.setTabIndex(4);
After all focusable user interface components are done, the browser can begin again from the component with the smallest tab index, or it can take the focus out of the page, for example, to the location bar.
If the tab index is not set (is set to zero), the default tab order is used. The order is somewhat browser-dependent, but generally follows the HTML structure of the page.
A negative value means that the component is completely removed from the tabulation order and can not be reached by pressing the Tab key at all.
- Specified by:
setTabIndex
in interfaceComponent.Focusable
- 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.getTabIndex()
-
getState
protected TabIndexState getState()
Description copied from class:AbstractComponent
Returns the shared state bean with information to be sent from the server to the client. Subclasses should override this method and set any relevant fields of the state returned by super.getState().- Overrides:
getState
in classAbstractComponent
- Returns:
- updated component shared state
-
getState
protected TabIndexState getState(boolean markAsDirty)
Description copied from class:AbstractClientConnector
Returns the shared state for this connector.- Overrides:
getState
in classAbstractComponent
- Parameters:
markAsDirty
- true if the connector should automatically be marked dirty, false otherwise- Returns:
- The shared state for this connector. Never null.
- See Also:
AbstractClientConnector.getState()
-
-