com.vaadin.ui
Class Button

java.lang.Object
  extended by com.vaadin.terminal.AbstractClientConnector
      extended by com.vaadin.ui.AbstractComponent
          extended by com.vaadin.ui.Button
All Implemented Interfaces:
Action.ShortcutNotifier, FieldEvents.BlurNotifier, FieldEvents.FocusNotifier, MethodEventSource, Connector, ClientConnector, RpcTarget, Sizeable, Component, Component.Focusable, Serializable
Direct Known Subclasses:
NativeButton

public class Button
extends AbstractComponent
implements FieldEvents.BlurNotifier, FieldEvents.FocusNotifier, Component.Focusable, Action.ShortcutNotifier

A generic button component.

Since:
3.0
Version:
7.0.0.alpha3
Author:
Vaadin Ltd.
See Also:
Serialized Form

Nested Class Summary
 class Button.ClickEvent
          Click event.
static interface Button.ClickListener
          Interface for listening for a Button.ClickEvent fired by a Component.
static class Button.ClickShortcut
          A ShortcutListener specifically made to define a keyboard shortcut that invokes a click on the given button.
 
Nested classes/interfaces inherited from class com.vaadin.ui.AbstractComponent
AbstractComponent.ComponentErrorEvent, AbstractComponent.ComponentErrorHandler
 
Nested classes/interfaces inherited from interface com.vaadin.ui.Component
Component.ErrorEvent, Component.ErrorListener, Component.Event, Component.Focusable, Component.Listener
 
Nested classes/interfaces inherited from interface com.vaadin.terminal.Sizeable
Sizeable.Unit
 
Field Summary
protected  Button.ClickShortcut clickShortcut
           
 
Fields inherited from interface com.vaadin.terminal.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
 
Constructor Summary
Button()
          Creates a new push button.
Button(String caption)
          Creates a new push button with the given caption.
Button(String caption, Button.ClickListener listener)
          Creates a new push button with a click listener.
 
Method Summary
 void addListener(Button.ClickListener listener)
          Adds the button click listener.
 void addListener(FieldEvents.BlurListener listener)
          Adds a BlurListener to the Component which gets fired when a Field loses keyboard focus.
 void addListener(FieldEvents.FocusListener listener)
          Adds a FocusListener to the Component which gets fired when a Field receives keyboard focus.
 void click()
          Simulates a button click, notifying all server-side listeners.
protected  void fireClick()
          Fires a click event to all listeners without any event details.
protected  void fireClick(MouseEventDetails details)
          Fires a click event to all listeners.
 void focus()
          Sets the focus for this component if the component is Focusable.
 ButtonState getState()
          Returns the shared state bean with information to be sent from the server to the client.
 int getTabIndex()
          Gets the tabulator index of the Focusable component.
 boolean isDisableOnClick()
          Determines if a button is automatically disabled when clicked.
 boolean isHtmlContentAllowed()
          Return HTML rendering setting
 void removeClickShortcut()
          Removes the keyboard shortcut previously set with setClickShortcut(int, int...).
 void removeListener(Button.ClickListener listener)
          Removes the button click listener.
 void removeListener(FieldEvents.BlurListener listener)
          Removes a BlurListener from the Component.
 void removeListener(FieldEvents.FocusListener listener)
          Removes a FocusListener from the Component.
 void setClickShortcut(int keyCode, int... modifiers)
          Makes it possible to invoke a click on this button by pressing the given ShortcutAction.KeyCode and (optional) ShortcutAction.ModifierKeys.
The shortcut is global (bound to the containing Window).
 void setDisableOnClick(boolean disableOnClick)
          Determines if a button is automatically disabled when clicked.
 void setHtmlContentAllowed(boolean htmlContentAllowed)
          Set whether the caption text is rendered as HTML or not.
 void setTabIndex(int tabIndex)
          Sets the tabulator index of the Focusable component.
 
Methods inherited from class com.vaadin.ui.AbstractComponent
addListener, addListener, addListener, addListener, addShortcutListener, addStyleName, attach, detach, findAncestor, fireComponentErrorEvent, fireComponentEvent, fireEvent, getActionManager, getApplication, getCaption, getComponentError, getData, getDebugId, getDescription, getErrorHandler, getErrorMessage, getHeight, getHeightUnits, getIcon, getListeners, getLocale, getParent, getRoot, getStyle, getStyleName, getWidth, getWidthUnits, handleError, hasListeners, isConnectorEnabled, isEnabled, isImmediate, isReadOnly, isVisible, removeListener, removeListener, removeListener, removeListener, removeListener, removeShortcutListener, removeStyleName, requestRepaint, setCaption, setComponentError, setData, setDebugId, setDescription, setEnabled, setErrorHandler, setHeight, setHeight, setIcon, setImmediate, setLocale, setParent, setReadOnly, setSizeFull, setSizeUndefined, setStyle, setStyleName, setVisible, setWidth, setWidth, updateState
 
Methods inherited from class com.vaadin.terminal.AbstractClientConnector
addExtension, addMethodInvocationToQueue, createState, getAllChildrenIterable, getConnectorId, getExtensions, getRpcManager, getRpcProxy, getStateType, registerRpc, registerRpc, removeExtension, requestRepaintAll, retrievePendingRpcCalls
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, attach, getApplication, getCaption, getDebugId, getIcon, getLocale, getParent, getRoot, getStyleName, isEnabled, isReadOnly, isVisible, removeListener, removeStyleName, setCaption, setDebugId, setEnabled, setIcon, setReadOnly, setStyleName, setVisible, updateState
 
Methods inherited from interface com.vaadin.terminal.gwt.server.ClientConnector
detach, getExtensions, getStateType, isConnectorEnabled, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setParent
 
Methods inherited from interface com.vaadin.terminal.gwt.client.Connector
getConnectorId
 
Methods inherited from interface com.vaadin.terminal.gwt.server.RpcTarget
getRpcManager
 
Methods inherited from interface com.vaadin.terminal.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setSizeFull, setSizeUndefined, setWidth, setWidth
 
Methods inherited from interface com.vaadin.event.Action.ShortcutNotifier
addShortcutListener, removeShortcutListener
 

Field Detail

clickShortcut

protected Button.ClickShortcut clickShortcut
Constructor Detail

Button

public Button()
Creates a new push button.


Button

public Button(String caption)
Creates a new push button with the given caption.

Parameters:
caption - the Button caption.

Button

public Button(String caption,
              Button.ClickListener listener)
Creates a new push button with a click listener.

Parameters:
caption - the Button caption.
listener - the Button click listener.
Method Detail

addListener

public void addListener(Button.ClickListener listener)
Adds the button click listener.

Parameters:
listener - the Listener to be added.

removeListener

public void removeListener(Button.ClickListener listener)
Removes the button click listener.

Parameters:
listener - the Listener to be removed.

click

public void click()
Simulates a button click, notifying all server-side listeners. No action is taken is the button is disabled.


fireClick

protected void fireClick()
Fires a click event to all listeners without any event details. In subclasses, override fireClick(MouseEventDetails) instead of this method.


fireClick

protected void fireClick(MouseEventDetails details)
Fires a click event to all listeners.

Parameters:
details - MouseEventDetails from which keyboard modifiers and other information about the mouse click can be obtained. If the button was clicked by a keyboard event, some of the fields may be empty/undefined.

addListener

public void addListener(FieldEvents.BlurListener listener)
Description copied from interface: FieldEvents.BlurNotifier
Adds a BlurListener to the Component which gets fired when a Field loses keyboard focus.

Specified by:
addListener in interface FieldEvents.BlurNotifier
See Also:
FieldEvents.BlurListener

removeListener

public void removeListener(FieldEvents.BlurListener listener)
Description copied from interface: FieldEvents.BlurNotifier
Removes a BlurListener from the Component.

Specified by:
removeListener in interface FieldEvents.BlurNotifier
See Also:
FieldEvents.BlurListener

addListener

public void addListener(FieldEvents.FocusListener listener)
Description copied from interface: FieldEvents.FocusNotifier
Adds a FocusListener to the Component which gets fired when a Field receives keyboard focus.

Specified by:
addListener in interface FieldEvents.FocusNotifier
See Also:
FieldEvents.FocusListener

removeListener

public void removeListener(FieldEvents.FocusListener listener)
Description copied from interface: FieldEvents.FocusNotifier
Removes a FocusListener from the Component.

Specified by:
removeListener in interface FieldEvents.FocusNotifier
See Also:
FieldEvents.FocusListener

setClickShortcut

public void setClickShortcut(int keyCode,
                             int... modifiers)
Makes it possible to invoke a click on this button by pressing the given ShortcutAction.KeyCode and (optional) ShortcutAction.ModifierKeys.
The shortcut is global (bound to the containing Window).

Parameters:
keyCode - the keycode for invoking the shortcut
modifiers - the (optional) modifiers for invoking the shortcut, null for none

removeClickShortcut

public void removeClickShortcut()
Removes the keyboard shortcut previously set with setClickShortcut(int, int...).


isDisableOnClick

public boolean isDisableOnClick()
Determines if a button is automatically disabled when clicked. See setDisableOnClick(boolean) for details.

Returns:
true if the button is disabled when clicked, false otherwise

setDisableOnClick

public void setDisableOnClick(boolean disableOnClick)
Determines if a button is automatically disabled when clicked. If this is set to true the button will be automatically disabled when clicked, typically to prevent (accidental) extra clicks on a button.

Parameters:
disableOnClick - true to disable button when it is clicked, false otherwise

getTabIndex

public int getTabIndex()
Description copied from interface: Component.Focusable
Gets the tabulator index of the Focusable component.

Specified by:
getTabIndex in interface Component.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 the Focusable 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 interface Component.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()

focus

public void focus()
Description copied from class: AbstractComponent
Sets the focus for this component if the component is Focusable.

Specified by:
focus in interface Component.Focusable
Overrides:
focus in class AbstractComponent
See Also:
FieldEvents, FieldEvents.FocusEvent, FieldEvents.FocusListener, FieldEvents.BlurEvent, FieldEvents.BlurListener

getState

public ButtonState 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().

Specified by:
getState in interface Connector
Specified by:
getState in interface Component
Overrides:
getState in class AbstractComponent
Returns:
updated component shared state

setHtmlContentAllowed

public void setHtmlContentAllowed(boolean htmlContentAllowed)
Set whether the caption text is rendered as HTML or not. You might need to retheme button to allow higher content than the original text style. If set to true, the captions are passed to the browser as html and the developer is responsible for ensuring no harmful html is used. If set to false, the content is passed to the browser as plain text.

Parameters:
htmlContentAllowed - true if caption is rendered as HTML, false otherwise

isHtmlContentAllowed

public boolean isHtmlContentAllowed()
Return HTML rendering setting

Returns:
true if the caption text is to be rendered as HTML, false otherwise


Copyright © 2000-2011 Vaadin Ltd. All Rights Reserved.