Module java.desktop
Package javax.accessibility

# Interface AccessibleComponent

All Known Subinterfaces:
  `AccessibleExtendedComponent`

All Known Implementing Classes:
  `AbstractButton.AccessibleAbstractButton`, `Applet.AccessibleApplet`, `Box.AccessibleBox`, `Box.Filler.AccessibleBoxFiller`, `Button.AccessibleAWTButton`, `Canvas.AccessibleAWTCanvas`, `CellRendererPane.AccessibleCellRendererPane`, `Checkbox.AccessibleAWTCheckbox`, `CheckboxMenuItem.AccessibleAWTCheckboxMenuItem`, `Choice.AccessibleAWTChoice`, `Component.AccessibleAWTComponent`, `Container.AccessibleAWTContainer`, `Dialog.AccessibleAWTDialog`, `Frame.AccessibleAWTFrame`, `JApplet.AccessibleJApplet`, `JButton.AccessibleJButton`, `JCheckBox.AccessibleJCheckBox`, `JCheckBoxMenuItem.AccessibleJCheckBoxMenuItem`, `JColorChooser.AccessibleJColorChooser`, `JComboBox.AccessibleJComboBox`, `JComponent.AccessibleJComponent`, `JDesktopPane.AccessibleJDesktopPane`, `JDialog.AccessibleJDialog`, `JEditorPane.AccessibleJEditorPane`, `JEditorPane.AccessibleJEditorPaneHTML`, `JEditorPane.JEditorPaneAccessibleHypertextSupport`, `JFileChooser.AccessibleJFileChooser`, `JFrame.AccessibleJFrame`, `JInternalFrame.AccessibleJInternalFrame`, `JInternalFrame.JDesktopIcon.AccessibleJDesktopIcon`, `JLabel.AccessibleJLabel`, `JLayeredPane.AccessibleJLayeredPane`, `JList.AccessibleJList`, `JList.AccessibleJList.AccessibleJListChild`, `JMenu.AccessibleJMenu`, `JMenuBar.AccessibleJMenuBar`, `JMenuItem.AccessibleJMenuItem`, `JOptionPane.AccessibleJOptionPane`, `JPanel.AccessibleJPanel`, `JPasswordField.AccessibleJPasswordField`, `JPopupMenu.AccessibleJPopupMenu`, `JProgressBar.AccessibleJProgressBar`, `JRadioButton.AccessibleJRadioButton`, `JRadioButtonMenuItem.AccessibleJRadioButtonMenuItem`, `JRootPane.AccessibleJRootPane`, `JScrollBar.AccessibleJScrollBar`, `JScrollPane.AccessibleJScrollPane`, `JSeparator.AccessibleJSeparator`, `JSlider.AccessibleJSlider`, `JSpinner.AccessibleJSpinner`, `JSplitPane.AccessibleJSplitPane`, `JTabbedPane.AccessibleJTabbedPane`, `JTable.AccessibleJTable`, `JTable.AccessibleJTable.AccessibleJTableCell`, `JTableHeader.AccessibleJTableHeader`, `JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry`, `JTextArea.AccessibleJTextArea`, `JTextComponent.AccessibleJTextComponent`, `JTextField.AccessibleJTextField`, `JToggleButton.AccessibleJToggleButton`, `JToolBar.AccessibleJToolBar`, `JToolTip.AccessibleJToolTip`, `JTree.AccessibleJTree`, `JTree.AccessibleJTree.AccessibleJTreeNode`, `JViewport.AccessibleJViewport`, `JWindow.AccessibleJWindow`, `Label.AccessibleAWTLabel`, `List.AccessibleAWTList`, `List.AccessibleAWTList.AccessibleAWTListChild`, `Menu.AccessibleAWTMenu`, `MenuBar.AccessibleAWTMenuBar`, `MenuComponent.AccessibleAWTMenuComponent`, `MenuItem.AccessibleAWTMenuItem`, `Panel.AccessibleAWTPanel`, `PopupMenu.AccessibleAWTPopupMenu`, `Scrollbar.AccessibleAWTScrollBar`, `ScrollPane.AccessibleAWTScrollPane`, `TextArea.AccessibleAWTTextArea`, `TextComponent.AccessibleAWTTextComponent`, `TextField.AccessibleAWTTextField`, `Translator`, `Window.AccessibleAWTWindow`

public interface AccessibleComponent
The `AccessibleComponent` interface should be supported by any object that is rendered on the screen. This interface provides the standard mechanism for an assistive technology to determine and set the graphical representation of an object. Applications can determine if an object supports the `AccessibleComponent` interface by first obtaining its `AccessibleContext` and then calling the `AccessibleContext.getAccessibleComponent()` method. If the return value is not `null`, the object supports this interface.

See Also:
  - `Accessible`
  - `Accessible.getAccessibleContext()`
  - `AccessibleContext`
  - `AccessibleContext.getAccessibleComponent()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addFocusListener(FocusListener l)`
Adds the specified focus listener to receive focus events from this component.
`boolean`
`contains(Point p)`
Checks whether the specified point is within this object's bounds, where the point's x and y coordinates are defined to be relative to the coordinate system of the object.
`Accessible`
`getAccessibleAt(Point p)`
Returns the `Accessible` child, if one exists, contained at the local coordinate `Point`.
`Color`
`getBackground()`
Gets the background color of this object.
`Rectangle`
`getBounds()`
Gets the bounds of this object in the form of a `Rectangle` object.
`Cursor`
`getCursor()`
Gets the cursor of this object.
`Font`
`getFont()`
Gets the font of this object.
`FontMetrics`
`getFontMetrics(Font f)`
Gets the `FontMetrics` of this object.
`Color`
`getForeground()`
Gets the foreground color of this object.
`Point`
`getLocation()`
Gets the location of the object relative to the parent in the form of a point specifying the object's top-left corner in the screen's coordinate space.
`Point`
`getLocationOnScreen()`
Returns the location of the object on the screen.
`Dimension`
`getSize()`
Returns the size of this object in the form of a `Dimension` object.
`boolean`
`isEnabled()`
Determines if the object is enabled.
`boolean`
`isFocusTraversable()`
Returns whether this object can accept focus or not.
`boolean`
`isShowing()`
Determines if the object is showing.
`boolean`
`isVisible()`
Determines if the object is visible.
`void`
`removeFocusListener(FocusListener l)`
Removes the specified focus listener so it no longer receives focus events from this component.
`void`
`requestFocus()`
Requests focus for this object.
`void`
`setBackground(Color c)`
Sets the background color of this object.
`void`
`setBounds(Rectangle r)`
Sets the bounds of this object in the form of a `Rectangle` object.
`void`
`setCursor(Cursor cursor)`
Sets the cursor of this object.
`void`
`setEnabled(boolean b)`
Sets the enabled state of the object.
`void`
`setFont(Font f)`
Sets the font of this object.
`void`
`setForeground(Color c)`
Sets the foreground color of this object.
`void`
`setLocation(Point p)`
Sets the location of the object relative to the parent.
`void`
`setSize(Dimension d)`
Resizes this object so that it has width and height.
`void`
`setVisible(boolean b)`
Sets the visible state of the object.

## Method Details

### getBackground

Color getBackground()
Gets the background color of this object.

Returns:
  the background color, if supported, of the object; otherwise, `null`
See Also:
  - `setBackground(java.awt.Color)`

### setBackground

void setBackground(Color c)
Sets the background color of this object.

Parameters:
  `c` - the new color for the background
See Also:
  - `getBackground()`

### getForeground

Color getForeground()
Gets the foreground color of this object.

Returns:
  the foreground color, if supported, of the object; otherwise, `null`
See Also:
  - `setForeground(java.awt.Color)`

### setForeground

void setForeground(Color c)
Sets the foreground color of this object.

Parameters:
  `c` - the new color for the foreground
See Also:
  - `getForeground()`

### getCursor

Cursor getCursor()
Gets the cursor of this object.

Returns:
  the cursor, if supported, of the object; otherwise, `null`
See Also:
  - `setCursor(java.awt.Cursor)`

### setCursor

void setCursor(Cursor cursor)
Sets the cursor of this object.

Parameters:
  `cursor` - the new cursor for the object
See Also:
  - `getCursor()`

### getFont

Font getFont()
Gets the font of this object.

Returns:
  the font, if supported, for the object; otherwise, `null`
See Also:
  - `setFont(java.awt.Font)`

### setFont

void setFont(Font f)
Sets the font of this object.

Parameters:
  `f` - the new font for the object
See Also:
  - `getFont()`

### getFontMetrics

FontMetrics getFontMetrics(Font f)
Gets the `FontMetrics` of this object.

Parameters:
  `f` - the font for which font metrics is to be obtained
Returns:
  the `FontMetrics`, if supported, the object; otherwise, `null`
See Also:
  - `getFont()`

### isEnabled

boolean isEnabled()
Determines if the object is enabled. Objects that are enabled will also have the `AccessibleState.ENABLED` state set in their `AccessibleStateSets`.

Returns:
  `true` if object is enabled; otherwise, `false`
See Also:
  - `setEnabled(boolean)`
  - `AccessibleContext.getAccessibleStateSet()`
  - `AccessibleState.ENABLED`
  - `AccessibleStateSet`

### setEnabled

void setEnabled(boolean b)
Sets the enabled state of the object.

Parameters:
  `b` - if `true`, enables this object; otherwise, disables it
See Also:
  - `isEnabled()`

### isVisible

boolean isVisible()
Determines if the object is visible. Note: this means that the object intends to be visible; however, it may not be showing on the screen because one of the objects that this object is contained by is currently not visible. To determine if an object is showing on the screen, use `isShowing()`

Objects that are visible will also have the `AccessibleState.VISIBLE` state set in their `AccessibleStateSets`.

Returns:
  `true` if object is visible; otherwise, `false`
See Also:
  - `setVisible(boolean)`
  - `AccessibleContext.getAccessibleStateSet()`
  - `AccessibleState.VISIBLE`
  - `AccessibleStateSet`

### setVisible

void setVisible(boolean b)
Sets the visible state of the object.

Parameters:
  `b` - if `true`, shows this object; otherwise, hides it
See Also:
  - `isVisible()`

### isShowing

boolean isShowing()
Determines if the object is showing. This is determined by checking the visibility of the object and its ancestors. Note: this will return `true` even if the object is obscured by another (for example, it is underneath a menu that was pulled down).

Returns:
  `true` if object is showing; otherwise, `false`

### contains

boolean contains(Point p)
Checks whether the specified point is within this object's bounds, where the point's x and y coordinates are defined to be relative to the coordinate system of the object.

Parameters:
  `p` - the point relative to the coordinate system of the object
Returns:
  `true` if object contains point; otherwise `false`
See Also:
  - `getBounds()`

### getLocationOnScreen

Point getLocationOnScreen()
Returns the location of the object on the screen.

Returns:
  the location of the object on screen; `null` if this object is not on the screen
See Also:
  - `getBounds()`
  - `getLocation()`

### getLocation

Point getLocation()
Gets the location of the object relative to the parent in the form of a point specifying the object's top-left corner in the screen's coordinate space.

Returns:
  An instance of `Point` representing the top-left corner of the object's bounds in the coordinate space of the screen; `null` if this object or its parent are not on the screen
See Also:
  - `getBounds()`
  - `getLocationOnScreen()`

### setLocation

void setLocation(Point p)
Sets the location of the object relative to the parent.

Parameters:
  `p` - the new position for the top-left corner
See Also:
  - `getLocation()`

### getBounds

Rectangle getBounds()
Gets the bounds of this object in the form of a `Rectangle` object. The bounds specify this object's width, height, and location relative to its parent.

Returns:
  A rectangle indicating this component's bounds; `null` if this object is not on the screen.
See Also:
  - `contains(java.awt.Point)`

### setBounds

void setBounds(Rectangle r)
Sets the bounds of this object in the form of a `Rectangle` object. The bounds specify this object's width, height, and location relative to its parent.

Parameters:
  `r` - rectangle indicating this component's bounds
See Also:
  - `getBounds()`

### getSize

Dimension getSize()
Returns the size of this object in the form of a `Dimension` object. The `height` field of the `Dimension` object contains this object's height, and the `width` field of the `Dimension` object contains this object's width.

Returns:
  A `Dimension` object that indicates the size of this component; `null` if this object is not on the screen
See Also:
  - `setSize(java.awt.Dimension)`

### setSize

void setSize(Dimension d)
Resizes this object so that it has width and height.

Parameters:
  `d` - The dimension specifying the new size of the object
See Also:
  - `getSize()`

### getAccessibleAt

Accessible getAccessibleAt(Point p)
Returns the `Accessible` child, if one exists, contained at the local coordinate `Point`.

Parameters:
  `p` - The point relative to the coordinate system of this object
Returns:
  the `Accessible`, if it exists, at the specified location; otherwise `null`

### isFocusTraversable

boolean isFocusTraversable()
Returns whether this object can accept focus or not. Objects that can accept focus will also have the `AccessibleState.FOCUSABLE` state set in their `AccessibleStateSets`.

Returns:
  `true` if object can accept focus; otherwise `false`
See Also:
  - `AccessibleContext.getAccessibleStateSet()`
  - `AccessibleState.FOCUSABLE`
  - `AccessibleState.FOCUSED`
  - `AccessibleStateSet`

### requestFocus

void requestFocus()
Requests focus for this object. If this object cannot accept focus, nothing will happen. Otherwise, the object will attempt to take focus.

See Also:
  - `isFocusTraversable()`

### addFocusListener

void addFocusListener(FocusListener l)
Adds the specified focus listener to receive focus events from this component.

Parameters:
  `l` - the focus listener
See Also:
  - `removeFocusListener(java.awt.event.FocusListener)`

### removeFocusListener

void removeFocusListener(FocusListener l)
Removes the specified focus listener so it no longer receives focus events from this component.

Parameters:
  `l` - the focus listener
See Also:
  - `addFocusListener(java.awt.event.FocusListener)`