Module jdk.accessibility
Package com.sun.java.accessibility.util

## 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 javax.accessibility.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`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    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 javax.accessibility.AccessibleContext

      `firePropertyChange, getAccessibleAction, getAccessibleComponent, getAccessibleEditableText, getAccessibleIcon, getAccessibleRelationSet, getAccessibleSelection, getAccessibleTable, getAccessibleText, getAccessibleValue, setAccessibleParent`

    - ### Methods declared in class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### source

          protected Object source

      The source object needing translating.

  - ### Constructor Detail

    - #### 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 Detail

    - #### 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(java.lang.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(java.lang.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(java.beans.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(java.lang.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(java.lang.String)`, `AccessibleContext.addPropertyChangeListener(java.beans.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(java.beans.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(java.awt.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.setBackground(java.awt.Color)`

    - #### 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(java.awt.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(java.awt.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(java.awt.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(java.awt.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(java.awt.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(java.awt.event.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(java.awt.event.FocusListener)`