AccessibleComponent (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.accessibility, interface: AccessibleComponent
Keywords: javax.accessibility.AccessibleComponent interface

# Interface AccessibleComponent

All Known Subinterfaces:
  `AccessibleExtendedComponent`

All Known Implementing Classes:
  `AbstractButton.AccessibleAbstractButton, 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, 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(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(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(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(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(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(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(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(FocusListener)`