/* * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package javax.accessibility; import java.util.Vector;import java.util.Locale;import java.util.MissingResourceException;import java.util.ResourceBundle; /** * <P>Class AccessibleState describes a component's particular state. The actual * state of the component is defined as an AccessibleStateSet, which is a * composed set of AccessibleStates. * <p>The toDisplayString method allows you to obtain the localized string * for a locale independent key from a predefined ResourceBundle for the * keys defined in this class. * <p>The constants in this class present a strongly typed enumeration * of common object roles. A public constructor for this class has been * purposely omitted and applications should use one of the constants * from this class. If the constants in this class are not sufficient * to describe the role of an object, a subclass should be generated * from this class and it should provide constants in a similar manner. * * @author Willie Walker * @author Peter Korn */public class AccessibleState extends AccessibleBundle { // If you add or remove anything from here, make sure you // update AccessibleResourceBundle.java. /** * Indicates a window is currently the active window. This includes * windows, dialogs, frames, etc. In addition, this state is used * to indicate the currently active child of a component such as a * list, table, or tree. For example, the active child of a list * is the child that is drawn with a rectangle around it. * @see AccessibleRole#WINDOW * @see AccessibleRole#FRAME * @see AccessibleRole#DIALOG */ public static final AccessibleState ACTIVE = new AccessibleState("active"); /** * Indicates this object is currently pressed. This is usually * associated with buttons and indicates the user has pressed a * mouse button while the pointer was over the button and has * not yet released the mouse button. * @see AccessibleRole#PUSH_BUTTON */ public static final AccessibleState PRESSED = new AccessibleState("pressed"); /** * Indicates that the object is armed. This is usually used on buttons * that have been pressed but not yet released, and the mouse pointer * is still over the button. * @see AccessibleRole#PUSH_BUTTON */ public static final AccessibleState ARMED = new AccessibleState("armed"); /** * Indicates the current object is busy. This is usually used on objects * such as progress bars, sliders, or scroll bars to indicate they are * in a state of transition. * @see AccessibleRole#PROGRESS_BAR * @see AccessibleRole#SCROLL_BAR * @see AccessibleRole#SLIDER */ public static final AccessibleState BUSY = new AccessibleState("busy"); /** * Indicates this object is currently checked. This is usually used on * objects such as toggle buttons, radio buttons, and check boxes. * @see AccessibleRole#TOGGLE_BUTTON * @see AccessibleRole#RADIO_BUTTON * @see AccessibleRole#CHECK_BOX */ public static final AccessibleState CHECKED = new AccessibleState("checked"); /** * Indicates the user can change the contents of this object. This * is usually used primarily for objects that allow the user to * enter text. Other objects, such as scroll bars and sliders, * are automatically editable if they are enabled. * @see #ENABLED */ public static final AccessibleState EDITABLE = new AccessibleState("editable"); /** * Indicates this object allows progressive disclosure of its children. * This is usually used with hierarchical objects such as trees and * is often paired with the EXPANDED or COLLAPSED states. * @see #EXPANDED * @see #COLLAPSED * @see AccessibleRole#TREE */ public static final AccessibleState EXPANDABLE = new AccessibleState("expandable"); /** * Indicates this object is collapsed. This is usually paired with the * EXPANDABLE state and is used on objects that provide progressive * disclosure such as trees. * @see #EXPANDABLE * @see #EXPANDED * @see AccessibleRole#TREE */ public static final AccessibleState COLLAPSED = new AccessibleState("collapsed"); /** * Indicates this object is expanded. This is usually paired with the * EXPANDABLE state and is used on objects that provide progressive * disclosure such as trees. * @see #EXPANDABLE * @see #COLLAPSED * @see AccessibleRole#TREE */ public static final AccessibleState EXPANDED = new AccessibleState("expanded"); /** * Indicates this object is enabled. The absence of this state from an * object's state set indicates this object is not enabled. An object * that is not enabled cannot be manipulated by the user. In a graphical * display, it is usually grayed out. */ public static final AccessibleState ENABLED = new AccessibleState("enabled"); /** * Indicates this object can accept keyboard focus, which means all * events resulting from typing on the keyboard will normally be * passed to it when it has focus. * @see #FOCUSED */ public static final AccessibleState FOCUSABLE = new AccessibleState("focusable"); /** * Indicates this object currently has the keyboard focus. * @see #FOCUSABLE */ public static final AccessibleState FOCUSED = new AccessibleState("focused"); /** * Indicates this object is minimized and is represented only by an * icon. This is usually only associated with frames and internal * frames. * @see AccessibleRole#FRAME * @see AccessibleRole#INTERNAL_FRAME */ public static final AccessibleState ICONIFIED = new AccessibleState("iconified"); /** * Indicates something must be done with this object before the * user can interact with an object in a different window. This * is usually associated only with dialogs. * @see AccessibleRole#DIALOG */ public static final AccessibleState MODAL = new AccessibleState("modal"); /** * Indicates this object paints every pixel within its * rectangular region. A non-opaque component paints only some of * its pixels, allowing the pixels underneath it to "show through". * A component that does not fully paint its pixels therefore * provides a degree of transparency. * @see Accessible#getAccessibleContext * @see AccessibleContext#getAccessibleComponent * @see AccessibleComponent#getBounds */ public static final AccessibleState OPAQUE = new AccessibleState("opaque"); /** * Indicates the size of this object is not fixed. * @see Accessible#getAccessibleContext * @see AccessibleContext#getAccessibleComponent * @see AccessibleComponent#getSize * @see AccessibleComponent#setSize */ public static final AccessibleState RESIZABLE = new AccessibleState("resizable"); /** * Indicates this object allows more than one of its children to * be selected at the same time. * @see Accessible#getAccessibleContext * @see AccessibleContext#getAccessibleSelection * @see AccessibleSelection */ public static final AccessibleState MULTISELECTABLE = new AccessibleState("multiselectable"); /** * Indicates this object is the child of an object that allows its * children to be selected, and that this child is one of those * children that can be selected. * @see #SELECTED * @see Accessible#getAccessibleContext * @see AccessibleContext#getAccessibleSelection * @see AccessibleSelection */ public static final AccessibleState SELECTABLE = new AccessibleState("selectable"); /** * Indicates this object is the child of an object that allows its * children to be selected, and that this child is one of those * children that has been selected. * @see #SELECTABLE * @see Accessible#getAccessibleContext * @see AccessibleContext#getAccessibleSelection * @see AccessibleSelection */ public static final AccessibleState SELECTED = new AccessibleState("selected"); /** * Indicates this object, the object's parent, the object's parent's * parent, and so on, are all visible. Note that this does not * necessarily mean the object is painted on the screen. It might * be occluded by some other showing object. * @see #VISIBLE */ public static final AccessibleState SHOWING = new AccessibleState("showing"); /** * Indicates this object is visible. Note: this means that the * object intends to be visible; however, it may not in fact be * showing on the screen because one of the objects that this object * is contained by is not visible. * @see #SHOWING */ public static final AccessibleState VISIBLE = new AccessibleState("visible"); /** * Indicates the orientation of this object is vertical. This is * usually associated with objects such as scrollbars, sliders, and * progress bars. * @see #VERTICAL * @see AccessibleRole#SCROLL_BAR * @see AccessibleRole#SLIDER * @see AccessibleRole#PROGRESS_BAR */ public static final AccessibleState VERTICAL = new AccessibleState("vertical"); /** * Indicates the orientation of this object is horizontal. This is * usually associated with objects such as scrollbars, sliders, and * progress bars. * @see #HORIZONTAL * @see AccessibleRole#SCROLL_BAR * @see AccessibleRole#SLIDER * @see AccessibleRole#PROGRESS_BAR */ public static final AccessibleState HORIZONTAL = new AccessibleState("horizontal"); /** * Indicates this (text) object can contain only a single line of text */ public static final AccessibleState SINGLE_LINE = new AccessibleState("singleline"); /** * Indicates this (text) object can contain multiple lines of text */ public static final AccessibleState MULTI_LINE = new AccessibleState("multiline"); /** * Indicates this object is transient. An assistive technology should * not add a PropertyChange listener to an object with transient state, * as that object will never generate any events. Transient objects * are typically created to answer Java Accessibility method queries, * but otherwise do not remain linked to the underlying object (for * example, those objects underneath lists, tables, and trees in Swing, * where only one actual UI Component does shared rendering duty for * all of the data objects underneath the actual list/table/tree elements). * * @since 1.5 * */ public static final AccessibleState TRANSIENT = new AccessibleState("transient"); /** * Indicates this object is responsible for managing its * subcomponents. This is typically used for trees and tables * that have a large number of subcomponents and where the * objects are created only when needed and otherwise remain virtual. * The application should not manage the subcomponents directly. * * @since 1.5 */ public static final AccessibleState MANAGES_DESCENDANTS = new AccessibleState ("managesDescendants"); /** * Indicates that the object state is indeterminate. An example * is selected text that is partially bold and partially not * bold. In this case the attributes associated with the selected * text are indeterminate. * * @since 1.5 */ public static final AccessibleState INDETERMINATE = new AccessibleState ("indeterminate"); /** * A state indicating that text is truncated by a bounding rectangle * and that some of the text is not displayed on the screen. An example * is text in a spreadsheet cell that is truncated by the bounds of * the cell. * * @since 1.5 */ static public final AccessibleState TRUNCATED = new AccessibleState("truncated"); /** * Creates a new AccessibleState using the given locale independent key. * This should not be a public method. Instead, it is used to create * the constants in this file to make it a strongly typed enumeration. * Subclasses of this class should enforce similar policy. * <p> * The key String should be a locale independent key for the state. * It is not intended to be used as the actual String to display * to the user. To get the localized string, use toDisplayString. * * @param key the locale independent name of the state. * @see AccessibleBundle#toDisplayString */ protected AccessibleState(String key) { this.key = key; }}
/*
* Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package javax.accessibility;
import java.util.Vector;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
/**
* <P>Class AccessibleState describes a component's particular state. The actual
* state of the component is defined as an AccessibleStateSet, which is a
* composed set of AccessibleStates.
* <p>The toDisplayString method allows you to obtain the localized string
* for a locale independent key from a predefined ResourceBundle for the
* keys defined in this class.
* <p>The constants in this class present a strongly typed enumeration
* of common object roles. A public constructor for this class has been
* purposely omitted and applications should use one of the constants
* from this class. If the constants in this class are not sufficient
* to describe the role of an object, a subclass should be generated
* from this class and it should provide constants in a similar manner.
*
* @author Willie Walker
* @author Peter Korn
*/
public class AccessibleState extends AccessibleBundle {
// If you add or remove anything from here, make sure you
// update AccessibleResourceBundle.java.
/**
* Indicates a window is currently the active window. This includes
* windows, dialogs, frames, etc. In addition, this state is used
* to indicate the currently active child of a component such as a
* list, table, or tree. For example, the active child of a list
* is the child that is drawn with a rectangle around it.
* @see AccessibleRole#WINDOW
* @see AccessibleRole#FRAME
* @see AccessibleRole#DIALOG
*/
public static final AccessibleState ACTIVE
= new AccessibleState("active");
/**
* Indicates this object is currently pressed. This is usually
* associated with buttons and indicates the user has pressed a
* mouse button while the pointer was over the button and has
* not yet released the mouse button.
* @see AccessibleRole#PUSH_BUTTON
*/
public static final AccessibleState PRESSED
= new AccessibleState("pressed");
/**
* Indicates that the object is armed. This is usually used on buttons
* that have been pressed but not yet released, and the mouse pointer
* is still over the button.
* @see AccessibleRole#PUSH_BUTTON
*/
public static final AccessibleState ARMED
= new AccessibleState("armed");
/**
* Indicates the current object is busy. This is usually used on objects
* such as progress bars, sliders, or scroll bars to indicate they are
* in a state of transition.
* @see AccessibleRole#PROGRESS_BAR
* @see AccessibleRole#SCROLL_BAR
* @see AccessibleRole#SLIDER
*/
public static final AccessibleState BUSY
= new AccessibleState("busy");
/**
* Indicates this object is currently checked. This is usually used on
* objects such as toggle buttons, radio buttons, and check boxes.
* @see AccessibleRole#TOGGLE_BUTTON
* @see AccessibleRole#RADIO_BUTTON
* @see AccessibleRole#CHECK_BOX
*/
public static final AccessibleState CHECKED
= new AccessibleState("checked");
/**
* Indicates the user can change the contents of this object. This
* is usually used primarily for objects that allow the user to
* enter text. Other objects, such as scroll bars and sliders,
* are automatically editable if they are enabled.
* @see #ENABLED
*/
public static final AccessibleState EDITABLE
= new AccessibleState("editable");
/**
* Indicates this object allows progressive disclosure of its children.
* This is usually used with hierarchical objects such as trees and
* is often paired with the EXPANDED or COLLAPSED states.
* @see #EXPANDED
* @see #COLLAPSED
* @see AccessibleRole#TREE
*/
public static final AccessibleState EXPANDABLE
= new AccessibleState("expandable");
/**
* Indicates this object is collapsed. This is usually paired with the
* EXPANDABLE state and is used on objects that provide progressive
* disclosure such as trees.
* @see #EXPANDABLE
* @see #EXPANDED
* @see AccessibleRole#TREE
*/
public static final AccessibleState COLLAPSED
= new AccessibleState("collapsed");
/**
* Indicates this object is expanded. This is usually paired with the
* EXPANDABLE state and is used on objects that provide progressive
* disclosure such as trees.
* @see #EXPANDABLE
* @see #COLLAPSED
* @see AccessibleRole#TREE
*/
public static final AccessibleState EXPANDED
= new AccessibleState("expanded");
/**
* Indicates this object is enabled. The absence of this state from an
* object's state set indicates this object is not enabled. An object
* that is not enabled cannot be manipulated by the user. In a graphical
* display, it is usually grayed out.
*/
public static final AccessibleState ENABLED
= new AccessibleState("enabled");
/**
* Indicates this object can accept keyboard focus, which means all
* events resulting from typing on the keyboard will normally be
* passed to it when it has focus.
* @see #FOCUSED
*/
public static final AccessibleState FOCUSABLE
= new AccessibleState("focusable");
/**
* Indicates this object currently has the keyboard focus.
* @see #FOCUSABLE
*/
public static final AccessibleState FOCUSED
= new AccessibleState("focused");
/**
* Indicates this object is minimized and is represented only by an
* icon. This is usually only associated with frames and internal
* frames.
* @see AccessibleRole#FRAME
* @see AccessibleRole#INTERNAL_FRAME
*/
public static final AccessibleState ICONIFIED
= new AccessibleState("iconified");
/**
* Indicates something must be done with this object before the
* user can interact with an object in a different window. This
* is usually associated only with dialogs.
* @see AccessibleRole#DIALOG
*/
public static final AccessibleState MODAL
= new AccessibleState("modal");
/**
* Indicates this object paints every pixel within its
* rectangular region. A non-opaque component paints only some of
* its pixels, allowing the pixels underneath it to "show through".
* A component that does not fully paint its pixels therefore
* provides a degree of transparency.
* @see Accessible#getAccessibleContext
* @see AccessibleContext#getAccessibleComponent
* @see AccessibleComponent#getBounds
*/
public static final AccessibleState OPAQUE
= new AccessibleState("opaque");
/**
* Indicates the size of this object is not fixed.
* @see Accessible#getAccessibleContext
* @see AccessibleContext#getAccessibleComponent
* @see AccessibleComponent#getSize
* @see AccessibleComponent#setSize
*/
public static final AccessibleState RESIZABLE
= new AccessibleState("resizable");
/**
* Indicates this object allows more than one of its children to
* be selected at the same time.
* @see Accessible#getAccessibleContext
* @see AccessibleContext#getAccessibleSelection
* @see AccessibleSelection
*/
public static final AccessibleState MULTISELECTABLE
= new AccessibleState("multiselectable");
/**
* Indicates this object is the child of an object that allows its
* children to be selected, and that this child is one of those
* children that can be selected.
* @see #SELECTED
* @see Accessible#getAccessibleContext
* @see AccessibleContext#getAccessibleSelection
* @see AccessibleSelection
*/
public static final AccessibleState SELECTABLE
= new AccessibleState("selectable");
/**
* Indicates this object is the child of an object that allows its
* children to be selected, and that this child is one of those
* children that has been selected.
* @see #SELECTABLE
* @see Accessible#getAccessibleContext
* @see AccessibleContext#getAccessibleSelection
* @see AccessibleSelection
*/
public static final AccessibleState SELECTED
= new AccessibleState("selected");
/**
* Indicates this object, the object's parent, the object's parent's
* parent, and so on, are all visible. Note that this does not
* necessarily mean the object is painted on the screen. It might
* be occluded by some other showing object.
* @see #VISIBLE
*/
public static final AccessibleState SHOWING
= new AccessibleState("showing");
/**
* Indicates this object is visible. Note: this means that the
* object intends to be visible; however, it may not in fact be
* showing on the screen because one of the objects that this object
* is contained by is not visible.
* @see #SHOWING
*/
public static final AccessibleState VISIBLE
= new AccessibleState("visible");
/**
* Indicates the orientation of this object is vertical. This is
* usually associated with objects such as scrollbars, sliders, and
* progress bars.
* @see #VERTICAL
* @see AccessibleRole#SCROLL_BAR
* @see AccessibleRole#SLIDER
* @see AccessibleRole#PROGRESS_BAR
*/
public static final AccessibleState VERTICAL
= new AccessibleState("vertical");
/**
* Indicates the orientation of this object is horizontal. This is
* usually associated with objects such as scrollbars, sliders, and
* progress bars.
* @see #HORIZONTAL
* @see AccessibleRole#SCROLL_BAR
* @see AccessibleRole#SLIDER
* @see AccessibleRole#PROGRESS_BAR
*/
public static final AccessibleState HORIZONTAL
= new AccessibleState("horizontal");
/**
* Indicates this (text) object can contain only a single line of text
*/
public static final AccessibleState SINGLE_LINE
= new AccessibleState("singleline");
/**
* Indicates this (text) object can contain multiple lines of text
*/
public static final AccessibleState MULTI_LINE
= new AccessibleState("multiline");
/**
* Indicates this object is transient. An assistive technology should
* not add a PropertyChange listener to an object with transient state,
* as that object will never generate any events. Transient objects
* are typically created to answer Java Accessibility method queries,
* but otherwise do not remain linked to the underlying object (for
* example, those objects underneath lists, tables, and trees in Swing,
* where only one actual UI Component does shared rendering duty for
* all of the data objects underneath the actual list/table/tree elements).
*
* @since 1.5
*
*/
public static final AccessibleState TRANSIENT
= new AccessibleState("transient");
/**
* Indicates this object is responsible for managing its
* subcomponents. This is typically used for trees and tables
* that have a large number of subcomponents and where the
* objects are created only when needed and otherwise remain virtual.
* The application should not manage the subcomponents directly.
*
* @since 1.5
*/
public static final AccessibleState MANAGES_DESCENDANTS
= new AccessibleState ("managesDescendants");
/**
* Indicates that the object state is indeterminate. An example
* is selected text that is partially bold and partially not
* bold. In this case the attributes associated with the selected
* text are indeterminate.
*
* @since 1.5
*/
public static final AccessibleState INDETERMINATE
= new AccessibleState ("indeterminate");
/**
* A state indicating that text is truncated by a bounding rectangle
* and that some of the text is not displayed on the screen. An example
* is text in a spreadsheet cell that is truncated by the bounds of
* the cell.
*
* @since 1.5
*/
static public final AccessibleState TRUNCATED
= new AccessibleState("truncated");
/**
* Creates a new AccessibleState using the given locale independent key.
* This should not be a public method. Instead, it is used to create
* the constants in this file to make it a strongly typed enumeration.
* Subclasses of this class should enforce similar policy.
* <p>
* The key String should be a locale independent key for the state.
* It is not intended to be used as the actual String to display
* to the user. To get the localized string, use toDisplayString.
*
* @param key the locale independent name of the state.
* @see AccessibleBundle#toDisplayString
*/
protected AccessibleState(String key) {
this.key = key;
}
}