Translator (Java SE 26 & JDK 26)
Description: declaration: module: jdk.accessibility, package: com.sun.java.accessibility.util, class: Translator
Keywords: com.sun.java.accessibility.util.Translator class

# Class Translator

java.lang.Object
javax.accessibility.AccessibleContext
com.sun.java.accessibility.util.Translator

All Implemented Interfaces:
  `Accessible, AccessibleComponent`

public class Translator extends AccessibleContext implements Accessible, AccessibleComponent

The `Translator` class provides a translation to interface `Accessible` for objects that do not implement interface `Accessible`. Assistive technologies can use the `getAccessible` class method of `Translator` to obtain an object that implements interface `Accessible`. If the object passed in already implements interface `Accessible`, `getAccessible` merely returns the object.

An example of how an assistive technology might use the `Translator` class is as follows:

       Accessible accessible = Translator.getAccessible(someObj);
       // obtain information from the 'accessible' object.

Note: This implementation is missing many things and is not a recommended way to implement accessibility features for a toolkit. Instead of relying upon this code, a toolkit's components should implement interface `Accessible` directly.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Object`
  `source`
  The source object needing translating.

  ### Fields declared in class AccessibleContext

  `ACCESSIBLE_ACTION_PROPERTY, ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY, ACCESSIBLE_CARET_PROPERTY, ACCESSIBLE_CHILD_PROPERTY, ACCESSIBLE_COMPONENT_BOUNDS_CHANGED, ACCESSIBLE_DESCRIPTION_PROPERTY, ACCESSIBLE_HYPERTEXT_OFFSET, ACCESSIBLE_INVALIDATE_CHILDREN, ACCESSIBLE_NAME_PROPERTY, ACCESSIBLE_SELECTION_PROPERTY, ACCESSIBLE_STATE_PROPERTY, ACCESSIBLE_TABLE_CAPTION_CHANGED, ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED, ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED, ACCESSIBLE_TABLE_MODEL_CHANGED, ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED, ACCESSIBLE_TABLE_ROW_HEADER_CHANGED, ACCESSIBLE_TABLE_SUMMARY_CHANGED, ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED, ACCESSIBLE_TEXT_PROPERTY, ACCESSIBLE_VALUE_PROPERTY, ACCESSIBLE_VISIBLE_DATA_PROPERTY, accessibleDescription, accessibleName, accessibleParent`
  Modifier and Type
  Field
  Description
  `static final String`
  `ACCESSIBLE_ACTION_PROPERTY`
  Constant used to indicate that the supported set of actions has changed.
  `static final String`
  `ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY`
  Constant used to determine when the active descendant of a component has changed.
  `static final String`
  `ACCESSIBLE_CARET_PROPERTY`
  Constant used to determine when the `accessibleText` caret has changed.
  `static final String`
  `ACCESSIBLE_CHILD_PROPERTY`
  Constant used to determine when `Accessible` children are added/removed from the object.
  `static final String`
  `ACCESSIBLE_COMPONENT_BOUNDS_CHANGED`
  `PropertyChangeEvent` which indicates that a change has occurred in a component's bounds.
  `static final String`
  `ACCESSIBLE_DESCRIPTION_PROPERTY`
  Constant used to determine when the `AccessibleContext.accessibleDescription` property has changed.
  `static final String`
  `ACCESSIBLE_HYPERTEXT_OFFSET`
  Constant used to indicate that a hypertext element has received focus.
  `static final String`
  `ACCESSIBLE_INVALIDATE_CHILDREN`
  `PropertyChangeEvent` which indicates that a significant change has occurred to the children of a component like a tree or text.
  `static final String`
  `ACCESSIBLE_NAME_PROPERTY`
  Constant used to determine when the `AccessibleContext.accessibleName` property has changed.
  `static final String`
  `ACCESSIBLE_SELECTION_PROPERTY`
  Constant used to determine when the `accessibleSelection` has changed.
  `static final String`
  `ACCESSIBLE_STATE_PROPERTY`
  Constant used to determine when the `accessibleStateSet` property has changed.
  `static final String`
  `ACCESSIBLE_TABLE_CAPTION_CHANGED`
  Constant used to indicate that the table caption has changed.
  `static final String`
  `ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED`
  Constant used to indicate that the column description has changed.
  `static final String`
  `ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED`
  Constant used to indicate that the column header has changed.
  `static final String`
  `ACCESSIBLE_TABLE_MODEL_CHANGED`
  Constant used to indicate that table data has changed.
  `static final String`
  `ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED`
  Constant used to indicate that the row description has changed.
  `static final String`
  `ACCESSIBLE_TABLE_ROW_HEADER_CHANGED`
  Constant used to indicate that the row header has changed.
  `static final String`
  `ACCESSIBLE_TABLE_SUMMARY_CHANGED`
  Constant used to indicate that the table summary has changed.
  `static final String`
  `ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED`
  `PropertyChangeEvent` which indicates that text attributes have changed.
  `static final String`
  `ACCESSIBLE_TEXT_PROPERTY`
  `PropertyChangeEvent` which indicates that text has changed.
  `static final String`
  `ACCESSIBLE_VALUE_PROPERTY`
  Constant used to determine when the `accessibleValue` property has changed.
  `static final String`
  `ACCESSIBLE_VISIBLE_DATA_PROPERTY`
  Constant used to determine when the visual appearance of the object has changed.
  `protected String`
  `accessibleDescription`
  A localized String containing the description of the object.
  `protected String`
  `accessibleName`
  A localized String containing the name of the object.
  `protected Accessible`
  `accessibleParent`
  The accessible parent of this object.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Translator()`
  Create a new `Translator`.
  `Translator(Object o)`
  Create a new `Translator` with the source object o.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addFocusListener(FocusListener l)`
  Adds the specified `FocusListener` to receive focus events from this component.
  `void`
  `addPropertyChangeListener(PropertyChangeListener l)`
  Add a `PropertyChangeListener` to the listener list.
  `boolean`
  `contains(Point p)`
  Checks whether the specified `Point` is within this object's bounds, where the `Point` is relative to the coordinate system of the object.
  `boolean`
  `equals(Object o)`
  Returns true if this object is the same as the one passed in.
  `static Accessible`
  `getAccessible(Object o)`
  Obtain an object that implements interface `Accessible`.
  `Accessible`
  `getAccessibleAt(Point p)`
  Returns the accessible child contained at the local coordinate Point, if one exists.
  `Accessible`
  `getAccessibleChild(int i)`
  Return the nth accessible child of the object.
  `int`
  `getAccessibleChildrenCount()`
  Returns the number of accessible children in the object.
  `AccessibleContext`
  `getAccessibleContext()`
  Returns this object.
  `String`
  `getAccessibleDescription()`
  Get the accessible description of this object.
  `int`
  `getAccessibleIndexInParent()`
  Get the index of this object in its accessible parent.
  `String`
  `getAccessibleName()`
  Get the accessible name of this object.
  `Accessible`
  `getAccessibleParent()`
  Get the accessible parent of this object.
  `AccessibleRole`
  `getAccessibleRole()`
  Get the role of this object.
  `AccessibleStateSet`
  `getAccessibleStateSet()`
  Get the state of this object, given an already populated state.
  `Color`
  `getBackground()`
  Get the background `Color` of this object.
  `Rectangle`
  `getBounds()`
  Returns the current bounds of this object.
  `Cursor`
  `getCursor()`
  Get the `Cursor` of this object.
  `Font`
  `getFont()`
  Get the `Font` of this object.
  `FontMetrics`
  `getFontMetrics(Font f)`
  Get the `FontMetrics` of this object.
  `Color`
  `getForeground()`
  Get the foreground `Color` of this object.
  `Locale`
  `getLocale()`
  Gets the `Locale` of the component.
  `Point`
  `getLocation()`
  Returns the location of the object relative to parent.
  `Point`
  `getLocationOnScreen()`
  Returns the location of the object on the screen.
  `Dimension`
  `getSize()`
  Returns the current size of this object.
  `Object`
  `getSource()`
  Get the source `Object` of the `Translator`.
  `protected static Class<?>`
  `getTranslatorClass(Class<?> c)`
  Find a translator for this class.
  `int`
  `hashCode()`
  Return hashcode.
  `boolean`
  `isEnabled()`
  Determine if the object is enabled.
  `boolean`
  `isFocusTraversable()`
  Returns whether this object can accept focus or not.
  `boolean`
  `isShowing()`
  Determine if the object is showing.
  `boolean`
  `isVisible()`
  Determine 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`
  `removePropertyChangeListener(PropertyChangeListener l)`
  Remove the `PropertyChangeListener` from the listener list.
  `void`
  `requestFocus()`
  Requests focus for this object.
  `void`
  `setAccessibleDescription(String s)`
  Set the accessible description of this object.
  `void`
  `setAccessibleName(String s)`
  Set the name of this object.
  `void`
  `setBackground(Color c)`
  Set the background `Color` of this object.
  `void`
  `setBounds(Rectangle r)`
  Sets the current bounds of this object.
  `void`
  `setCursor(Cursor c)`
  Set the `Cursor` of this object.
  `void`
  `setEnabled(boolean b)`
  Set the enabled state of the object.
  `void`
  `setFont(Font f)`
  Set the `Font` of this object.
  `void`
  `setForeground(Color c)`
  Set the foreground `Color` of this object.
  `void`
  `setLocation(Point p)`
  Sets the location of the object relative to parent.
  `void`
  `setSize(Dimension d)`
  Sets the current size of this object.
  `void`
  `setSource(Object o)`
  Set the source object of the `Translator`.
  `void`
  `setVisible(boolean b)`
  Set the visible state of the object.

  ### Methods declared in class AccessibleContext

  `firePropertyChange, getAccessibleAction, getAccessibleComponent, getAccessibleEditableText, getAccessibleIcon, getAccessibleRelationSet, getAccessibleSelection, getAccessibleTable, getAccessibleText, getAccessibleValue, setAccessibleParent`
  Modifier and Type
  Method
  Description
  `void`
  `firePropertyChange(String propertyName, Object oldValue, Object newValue)`
  Support for reporting bound property changes.
  `AccessibleAction`
  `getAccessibleAction()`
  Gets the `AccessibleAction` associated with this object that supports one or more actions.
  `AccessibleComponent`
  `getAccessibleComponent()`
  Gets the `AccessibleComponent` associated with this object that has a graphical representation.
  `AccessibleEditableText`
  `getAccessibleEditableText()`
  Gets the `AccessibleEditableText` associated with this object presenting editable text on the display.
  `AccessibleIcon[]`
  `getAccessibleIcon()`
  Gets the `AccessibleIcons` associated with an object that has one or more associated icons.
  `AccessibleRelationSet`
  `getAccessibleRelationSet()`
  Gets the `AccessibleRelationSet` associated with an object.
  `AccessibleSelection`
  `getAccessibleSelection()`
  Gets the `AccessibleSelection` associated with this object which allows its `Accessible` children to be selected.
  `AccessibleTable`
  `getAccessibleTable()`
  Gets the `AccessibleTable` associated with an object.
  `AccessibleText`
  `getAccessibleText()`
  Gets the `AccessibleText` associated with this object presenting text on the display.
  `AccessibleValue`
  `getAccessibleValue()`
  Gets the `AccessibleValue` associated with this object that supports a `Numerical` value.
  `void`
  `setAccessibleParent(Accessible a)`
  Sets the `Accessible` parent of this object.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Field Details

  - ### source

    protected Object source
    The source object needing translating.

- ## Constructor Details

  - ### Translator

    public Translator()
    Create a new `Translator`. You must call the `setSource` method to set the object to be translated after calling this constructor.

  - ### Translator

    public Translator(Object o)
    Create a new `Translator` with the source object o.
    Parameters:
      `o` - the Component that does not implement interface `Accessible`

- ## Method Details

  - ### getTranslatorClass

    protected static Class<?> getTranslatorClass(Class<?> c)
    Find a translator for this class. If one doesn't exist for this class explicitly, try its superclass and so on.
    Parameters:
      `c` - a Class
    Returns:
      the `Translator` Class for the Class passed in

  - ### getAccessible

    public static Accessible getAccessible(Object o)
    Obtain an object that implements interface `Accessible`. If the object passed in already implements interface `Accessible`, `getAccessible` merely returns the object.
    Parameters:
      `o` - an Object; if a null is passed in a null is returned
    Returns:
      an `Object`, possibly the `Object` passed in, that implements the `Accessible` interface for the `Object` which was passed in

  - ### getSource

    public Object getSource()
    Get the source `Object` of the `Translator`.
    Returns:
      the source `Object` of the `Translator`

  - ### setSource

    public void setSource(Object o)
    Set the source object of the `Translator`.
    Parameters:
      `o` - the Component that does not implement interface Accessible

  - ### equals

    public boolean equals(Object o)
    Returns true if this object is the same as the one passed in.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `o` - the `Object` to check against
    Returns:
      true if this is the same object
    See Also:
      - `Object.hashCode()`
      - `HashMap`

  - ### hashCode

    public int hashCode()
    Return hashcode.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      hashcode
    See Also:
      - `Object.equals(java.lang.Object)`
      - `System.identityHashCode(Object)`

  - ### getAccessibleContext

    public AccessibleContext getAccessibleContext()
    Returns this object.
    Specified by:
      `getAccessibleContext` in interface `Accessible`
    Returns:
      the `AccessibleContext` associated with this object

  - ### getAccessibleName

    public String getAccessibleName()
    Get the accessible name of this object.
    Overrides:
      `getAccessibleName` in class `AccessibleContext`
    Returns:
      the localized name of the object; can be null if this object does not have a name
    See Also:
      - `AccessibleContext.setAccessibleName(String)`

  - ### setAccessibleName

    public void setAccessibleName(String s)
    Set the name of this object.
    Overrides:
      `setAccessibleName` in class `AccessibleContext`
    Parameters:
      `s` - the new localized name of the object
    See Also:
      - `AccessibleContext.getAccessibleName()`
      - `AccessibleContext.addPropertyChangeListener(PropertyChangeListener)`

  - ### getAccessibleDescription

    public String getAccessibleDescription()
    Get the accessible description of this object.
    Overrides:
      `getAccessibleDescription` in class `AccessibleContext`
    Returns:
      the description of the object; can be null if this object does not have a description
    See Also:
      - `AccessibleContext.setAccessibleDescription(String)`

  - ### setAccessibleDescription

    public void setAccessibleDescription(String s)
    Set the accessible description of this object.
    Overrides:
      `setAccessibleDescription` in class `AccessibleContext`
    Parameters:
      `s` - the new localized description of the object
    See Also:
      - `AccessibleContext.setAccessibleName(String)`
      - `AccessibleContext.addPropertyChangeListener(PropertyChangeListener)`

  - ### getAccessibleRole

    public AccessibleRole getAccessibleRole()
    Get the role of this object.
    Specified by:
      `getAccessibleRole` in class `AccessibleContext`
    Returns:
      an instance of AccessibleRole describing the role of the object
    See Also:
      - `AccessibleRole`

  - ### getAccessibleStateSet

    public AccessibleStateSet getAccessibleStateSet()
    Get the state of this object, given an already populated state. This method is intended for use by subclasses so they don't have to check for everything.
    Specified by:
      `getAccessibleStateSet` in class `AccessibleContext`
    Returns:
      an instance of `AccessibleStateSet` containing the current state of the object
    See Also:
      - `AccessibleStateSet`
      - `AccessibleState`
      - `AccessibleContext.addPropertyChangeListener(PropertyChangeListener)`

  - ### getAccessibleParent

    public Accessible getAccessibleParent()
    Get the accessible parent of this object.
    Overrides:
      `getAccessibleParent` in class `AccessibleContext`
    Returns:
      the accessible parent of this object; can be null if this object does not have an accessible parent

  - ### getAccessibleIndexInParent

    public int getAccessibleIndexInParent()
    Get the index of this object in its accessible parent.
    Specified by:
      `getAccessibleIndexInParent` in class `AccessibleContext`
    Returns:
      -1 of this object does not have an accessible parent; otherwise, the index of the child in its accessible parent
    See Also:
      - `AccessibleContext.getAccessibleParent()`
      - `AccessibleContext.getAccessibleChildrenCount()`
      - `AccessibleContext.getAccessibleChild(int)`

  - ### getAccessibleChildrenCount

    public int getAccessibleChildrenCount()
    Returns the number of accessible children in the object.
    Specified by:
      `getAccessibleChildrenCount` in class `AccessibleContext`
    Returns:
      the number of accessible children in the object

  - ### getAccessibleChild

    public Accessible getAccessibleChild(int i)
    Return the nth accessible child of the object.
    Specified by:
      `getAccessibleChild` in class `AccessibleContext`
    Parameters:
      `i` - zero-based index of child
    Returns:
      the nth accessible child of the object
    See Also:
      - `AccessibleContext.getAccessibleChildrenCount()`

  - ### getLocale

    public Locale getLocale() throws IllegalComponentStateException
    Gets the `Locale` of the component. If the component does not have a locale, the locale of its parent is returned.
    Specified by:
      `getLocale` in class `AccessibleContext`
    Returns:
      the `Locale` of the object
    Throws:
      `IllegalComponentStateException` - If the component does not have its own locale and has not yet been added to a containment hierarchy such that the locale can be determined from the containing parent

  - ### addPropertyChangeListener

    public void addPropertyChangeListener(PropertyChangeListener l)
    Add a `PropertyChangeListener` to the listener list. The listener is registered for all properties.
    Overrides:
      `addPropertyChangeListener` in class `AccessibleContext`
    Parameters:
      `l` - The PropertyChangeListener to be added
    See Also:
      - `AccessibleContext.ACCESSIBLE_NAME_PROPERTY`
      - `AccessibleContext.ACCESSIBLE_DESCRIPTION_PROPERTY`
      - `AccessibleContext.ACCESSIBLE_STATE_PROPERTY`
      - `AccessibleContext.ACCESSIBLE_VALUE_PROPERTY`
      - `AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY`
      - `AccessibleContext.ACCESSIBLE_TEXT_PROPERTY`
      - `AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY`

  - ### removePropertyChangeListener

    public void removePropertyChangeListener(PropertyChangeListener l)
    Remove the `PropertyChangeListener` from the listener list.
    Overrides:
      `removePropertyChangeListener` in class `AccessibleContext`
    Parameters:
      `l` - The PropertyChangeListener to be removed

  - ### getBackground

    public Color getBackground()
    Get the background `Color` of this object.
    Specified by:
      `getBackground` in interface `AccessibleComponent`
    Returns:
      if supported, the background `Color` of the object; otherwise, null
    See Also:
      - `AccessibleComponent.setBackground(Color)`

  - ### setBackground

    public void setBackground(Color c)
    Set the background `Color` of this object.
    Specified by:
      `setBackground` in interface `AccessibleComponent`
    Parameters:
      `c` - the new `Color` for the background
    See Also:
      - `AccessibleComponent.getBackground()`

  - ### getForeground

    public Color getForeground()
    Get the foreground `Color` of this object.
    Specified by:
      `getForeground` in interface `AccessibleComponent`
    Returns:
      if supported, the foreground `Color` of the object; otherwise, null
    See Also:
      - `AccessibleComponent.setForeground(Color)`

  - ### setForeground

    public void setForeground(Color c)
    Set the foreground `Color` of this object.
    Specified by:
      `setForeground` in interface `AccessibleComponent`
    Parameters:
      `c` - the new `Color` for the foreground
    See Also:
      - `AccessibleComponent.getForeground()`

  - ### getCursor

    public Cursor getCursor()
    Get the `Cursor` of this object.
    Specified by:
      `getCursor` in interface `AccessibleComponent`
    Returns:
      if supported, the Cursor of the object; otherwise, null
    See Also:
      - `AccessibleComponent.setCursor(Cursor)`

  - ### setCursor

    public void setCursor(Cursor c)
    Set the `Cursor` of this object.
    Specified by:
      `setCursor` in interface `AccessibleComponent`
    Parameters:
      `c` - the new `Cursor` for the object
    See Also:
      - `AccessibleComponent.getCursor()`

  - ### getFont

    public Font getFont()
    Get the `Font` of this object.
    Specified by:
      `getFont` in interface `AccessibleComponent`
    Returns:
      if supported, the `Font` for the object; otherwise, null
    See Also:
      - `AccessibleComponent.setFont(Font)`

  - ### setFont

    public void setFont(Font f)
    Set the `Font` of this object.
    Specified by:
      `setFont` in interface `AccessibleComponent`
    Parameters:
      `f` - the new `Font` for the object
    See Also:
      - `AccessibleComponent.getFont()`

  - ### getFontMetrics

    public FontMetrics getFontMetrics(Font f)
    Get the `FontMetrics` of this object.
    Specified by:
      `getFontMetrics` in interface `AccessibleComponent`
    Parameters:
      `f` - the `Font`
    Returns:
      if supported, the `FontMetrics` the object; otherwise, null
    See Also:
      - `getFont()`

  - ### isEnabled

    public boolean isEnabled()
    Determine if the object is enabled.
    Specified by:
      `isEnabled` in interface `AccessibleComponent`
    Returns:
      true if object is enabled; otherwise, false
    See Also:
      - `AccessibleComponent.setEnabled(boolean)`
      - `AccessibleContext.getAccessibleStateSet()`
      - `AccessibleState.ENABLED`
      - `AccessibleStateSet`

  - ### setEnabled

    public void setEnabled(boolean b)
    Set the enabled state of the object.
    Specified by:
      `setEnabled` in interface `AccessibleComponent`
    Parameters:
      `b` - if true, enables this object; otherwise, disables it
    See Also:
      - `AccessibleComponent.isEnabled()`

  - ### isVisible

    public boolean isVisible()
    Determine if the object is visible.
    Specified by:
      `isVisible` in interface `AccessibleComponent`
    Returns:
      true if object is visible; otherwise, false
    See Also:
      - `AccessibleComponent.setVisible(boolean)`
      - `AccessibleContext.getAccessibleStateSet()`
      - `AccessibleState.VISIBLE`
      - `AccessibleStateSet`

  - ### setVisible

    public void setVisible(boolean b)
    Set the visible state of the object.
    Specified by:
      `setVisible` in interface `AccessibleComponent`
    Parameters:
      `b` - if true, shows this object; otherwise, hides it
    See Also:
      - `AccessibleComponent.isVisible()`

  - ### isShowing

    public boolean isShowing()
    Determine if the object is showing. This is determined by checking the visibility of the object and ancestors of the object.
    Specified by:
      `isShowing` in interface `AccessibleComponent`
    Returns:
      true if object is showing; otherwise, false

  - ### contains

    public boolean contains(Point p)
    Checks whether the specified `Point` is within this object's bounds, where the `Point` is relative to the coordinate system of the object.
    Specified by:
      `contains` in interface `AccessibleComponent`
    Parameters:
      `p` - the `Point` relative to the coordinate system of the object
    Returns:
      true if object contains `Point`; otherwise false
    See Also:
      - `AccessibleComponent.getBounds()`

  - ### getLocationOnScreen

    public Point getLocationOnScreen()
    Returns the location of the object on the screen.
    Specified by:
      `getLocationOnScreen` in interface `AccessibleComponent`
    Returns:
      location of object on screen; can be null if this object is not on the screen
    See Also:
      - `AccessibleComponent.getBounds()`
      - `AccessibleComponent.getLocation()`

  - ### getLocation

    public Point getLocation()
    Returns the location of the object relative to parent.
    Specified by:
      `getLocation` in interface `AccessibleComponent`
    Returns:
      location of object relative to parent; can be null if this object or its parent are not on the screen
    See Also:
      - `AccessibleComponent.getBounds()`
      - `AccessibleComponent.getLocationOnScreen()`

  - ### setLocation

    public void setLocation(Point p)
    Sets the location of the object relative to parent.
    Specified by:
      `setLocation` in interface `AccessibleComponent`
    Parameters:
      `p` - the new position for the top-left corner
    See Also:
      - `AccessibleComponent.getLocation()`

  - ### getBounds

    public Rectangle getBounds()
    Returns the current bounds of this object.
    Specified by:
      `getBounds` in interface `AccessibleComponent`
    Returns:
      current bounds of object; can be null if this object is not on the screen
    See Also:
      - `AccessibleComponent.contains(Point)`

  - ### setBounds

    public void setBounds(Rectangle r)
    Sets the current bounds of this object.
    Specified by:
      `setBounds` in interface `AccessibleComponent`
    Parameters:
      `r` - rectangle indicating this component's bounds
    See Also:
      - `AccessibleComponent.getBounds()`

  - ### getSize

    public Dimension getSize()
    Returns the current size of this object.
    Specified by:
      `getSize` in interface `AccessibleComponent`
    Returns:
      current size of object; can be null if this object is not on the screen
    See Also:
      - `AccessibleComponent.setSize(Dimension)`

  - ### setSize

    public void setSize(Dimension d)
    Sets the current size of this object.
    Specified by:
      `setSize` in interface `AccessibleComponent`
    Parameters:
      `d` - The dimension specifying the new size of the object
    See Also:
      - `AccessibleComponent.getSize()`

  - ### getAccessibleAt

    public Accessible getAccessibleAt(Point p)
    Returns the accessible child contained at the local coordinate Point, if one exists.
    Specified by:
      `getAccessibleAt` in interface `AccessibleComponent`
    Parameters:
      `p` - The point relative to the coordinate system of this object
    Returns:
      the Accessible at the specified location, if it exists

  - ### isFocusTraversable

    public boolean isFocusTraversable()
    Returns whether this object can accept focus or not.
    Specified by:
      `isFocusTraversable` in interface `AccessibleComponent`
    Returns:
      true if object can accept focus; otherwise false
    See Also:
      - `AccessibleContext.getAccessibleStateSet()`
      - `AccessibleState.FOCUSABLE`
      - `AccessibleState.FOCUSED`
      - `AccessibleStateSet`

  - ### requestFocus

    public void requestFocus()
    Requests focus for this object.
    Specified by:
      `requestFocus` in interface `AccessibleComponent`
    See Also:
      - `AccessibleComponent.isFocusTraversable()`

  - ### addFocusListener

    public void addFocusListener(FocusListener l)
    Adds the specified `FocusListener` to receive focus events from this component.
    Specified by:
      `addFocusListener` in interface `AccessibleComponent`
    Parameters:
      `l` - the focus listener
    See Also:
      - `AccessibleComponent.removeFocusListener(FocusListener)`

  - ### removeFocusListener

    public void removeFocusListener(FocusListener l)
    Removes the specified focus listener so it no longer receives focus events from this component.
    Specified by:
      `removeFocusListener` in interface `AccessibleComponent`
    Parameters:
      `l` - the focus listener; this method performs no function, nor does it throw an exception if the listener specified was not previously added to this component; if listener is null, no exception is thrown and no action is performed.
    See Also:
      - `AccessibleComponent.addFocusListener(FocusListener)`