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