com.google.gwt.user.client.ui

## Interface Focusable

- All Known Subinterfaces:
    HasFocus
  All Known Implementing Classes:
    AbstractCellTable, AbstractHasData, Anchor, Audio, Button, ButtonBase, Canvas, CellBrowser.BrowserCellList, CellList, CellTable, CellTree, CheckBox, CustomButton, DataGrid, DoubleBox, FileUpload, FocusPanel, FocusWidget, IntegerBox, ListBox, LongBox, MediaBase, PasswordTextBox, PushButton, RadioButton, ResetButton, RichTextArea, SimpleCheckBox, SimpleRadioButton, SubmitButton, SuggestBox, TextArea, TextBox, TextBoxBase, ToggleButton, Tree, ValueBox, ValueBoxBase, ValueListBox, Video

      public interface Focusable

  A widget that implements this interface can receive keyboard focus.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getTabIndex()` Gets the widget's position in the tab index.
    `void` | `setAccessKey(char key)` Sets the widget's 'access key'.
    `void` | `setFocus(boolean focused)` Explicitly focus/unfocus this widget.
    `void` | `setTabIndex(int index)` Sets the widget's position in the tab index.

- - ### Method Detail

    - #### getTabIndex

          int getTabIndex()

      Gets the widget's position in the tab index.
      Returns:
        the widget's tab index

    - #### setAccessKey

          void setAccessKey(char key)

      Sets the widget's 'access key'. This key is used (in conjunction with a browser-specific modifier key) to automatically focus the widget.
      Parameters:
        `key` - the widget's access key

    - #### setFocus

          void setFocus(boolean focused)

      Explicitly focus/unfocus this widget. Only one widget can have focus at a time, and the widget that does will receive all keyboard events. NOTE: Most browsers fire FocusEvents asynchronously. Especially within GWT tests, you'll need to make your test asynchronous to properly do verifications. See `GWTTestCase#delayTestFinish` for more information on how to do this.
      Parameters:
        `focused` - whether this widget should take focus or release it

    - #### setTabIndex

          void setTabIndex(int index)

      Sets the widget's position in the tab index. If more than one widget has the same tab index, each such widget will receive focus in an arbitrary order. Setting the tab index to `-1` will cause this widget to be removed from the tab order.
      Parameters:
        `index` - the widget's tab index