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

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 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(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)`