Java tutorial
/* * Copyright (c) 1997, 2017, 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; /** * Class {@code AccessibleRole} determines the role of a component. The role of * a component describes its generic function. (E.G., "push button," "table," or * "list.") * <p> * The {@link #toDisplayString()} method allows you to obtain the localized * string for a locale independent key from a predefined {@code 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 * @author Lynn Monsanto */ public class AccessibleRole extends AccessibleBundle { // If you add or remove anything from here, make sure you // update AccessibleResourceBundle.java. /** * Object is used to alert the user about something. */ public static final AccessibleRole ALERT = new AccessibleRole("alert"); /** * The header for a column of data. */ public static final AccessibleRole COLUMN_HEADER = new AccessibleRole("columnheader"); /** * Object that can be drawn into and is used to trap events. * * @see #FRAME * @see #GLASS_PANE * @see #LAYERED_PANE */ public static final AccessibleRole CANVAS = new AccessibleRole("canvas"); /** * A list of choices the user can select from. Also optionally allows the * user to enter a choice of their own. */ public static final AccessibleRole COMBO_BOX = new AccessibleRole("combobox"); /** * An iconified internal frame in a {@code DESKTOP_PANE}. * * @see #DESKTOP_PANE * @see #INTERNAL_FRAME */ public static final AccessibleRole DESKTOP_ICON = new AccessibleRole("desktopicon"); /** * An object containing a collection of {@code Accessibles} that together * represents {@code HTML} content. The child {@code Accessibles} would * include objects implementing {@code AccessibleText}, * {@code AccessibleHypertext}, {@code AccessibleIcon}, and other * interfaces. * * @see #HYPERLINK * @see AccessibleText * @see AccessibleHypertext * @see AccessibleHyperlink * @see AccessibleIcon * @since 1.6 */ public static final AccessibleRole HTML_CONTAINER = new AccessibleRole("htmlcontainer"); /** * A frame-like object that is clipped by a desktop pane. The desktop pane, * internal frame, and desktop icon objects are often used to create * multiple document interfaces within an application. * * @see #DESKTOP_ICON * @see #DESKTOP_PANE * @see #FRAME */ public static final AccessibleRole INTERNAL_FRAME = new AccessibleRole("internalframe"); /** * A pane that supports internal frames and iconified versions of those * internal frames. * * @see #DESKTOP_ICON * @see #INTERNAL_FRAME */ public static final AccessibleRole DESKTOP_PANE = new AccessibleRole("desktoppane"); /** * A specialized pane whose primary use is inside a {@code DIALOG}. * * @see #DIALOG */ public static final AccessibleRole OPTION_PANE = new AccessibleRole("optionpane"); /** * A top level window with no title or border. * * @see #FRAME * @see #DIALOG */ public static final AccessibleRole WINDOW = new AccessibleRole("window"); /** * A top level window with a title bar, border, menu bar, etc. It is often * used as the primary window for an application. * * @see #DIALOG * @see #CANVAS * @see #WINDOW */ public static final AccessibleRole FRAME = new AccessibleRole("frame"); /** * A top level window with title bar and a border. A dialog is similar to a * frame, but it has fewer properties and is often used as a secondary * window for an application. * * @see #FRAME * @see #WINDOW */ public static final AccessibleRole DIALOG = new AccessibleRole("dialog"); /** * A specialized pane that lets the user choose a color. */ public static final AccessibleRole COLOR_CHOOSER = new AccessibleRole("colorchooser"); /** * A pane that allows the user to navigate through and select the contents * of a directory. May be used by a file chooser. * * @see #FILE_CHOOSER */ public static final AccessibleRole DIRECTORY_PANE = new AccessibleRole("directorypane"); /** * A specialized dialog that displays the files in the directory and lets * the user select a file, browse a different directory, or specify a * filename. May use the directory pane to show the contents of a directory. * * @see #DIRECTORY_PANE */ public static final AccessibleRole FILE_CHOOSER = new AccessibleRole("filechooser"); /** * An object that fills up space in a user interface. It is often used in * interfaces to tweak the spacing between components, but serves no other * purpose. */ public static final AccessibleRole FILLER = new AccessibleRole("filler"); /** * A hypertext anchor. */ public static final AccessibleRole HYPERLINK = new AccessibleRole("hyperlink"); /** * A small fixed size picture, typically used to decorate components. */ public static final AccessibleRole ICON = new AccessibleRole("icon"); /** * An object used to present an icon or short string in an interface. */ public static final AccessibleRole LABEL = new AccessibleRole("label"); /** * A specialized pane that has a glass pane and a layered pane as its * children. * * @see #GLASS_PANE * @see #LAYERED_PANE */ public static final AccessibleRole ROOT_PANE = new AccessibleRole("rootpane"); /** * A pane that is guaranteed to be painted on top of all panes beneath it. * * @see #ROOT_PANE * @see #CANVAS */ public static final AccessibleRole GLASS_PANE = new AccessibleRole("glasspane"); /** * A specialized pane that allows its children to be drawn in layers, * providing a form of stacking order. This is usually the pane that holds * the menu bar as well as the pane that contains most of the visual * components in a window. * * @see #GLASS_PANE * @see #ROOT_PANE */ public static final AccessibleRole LAYERED_PANE = new AccessibleRole("layeredpane"); /** * An object that presents a list of objects to the user and allows the user * to select one or more of them. A list is usually contained within a * scroll pane. * * @see #SCROLL_PANE * @see #LIST_ITEM */ public static final AccessibleRole LIST = new AccessibleRole("list"); /** * An object that presents an element in a list. A list is usually contained * within a scroll pane. * * @see #SCROLL_PANE * @see #LIST */ public static final AccessibleRole LIST_ITEM = new AccessibleRole("listitem"); /** * An object usually drawn at the top of the primary dialog box of an * application that contains a list of menus the user can choose from. For * example, a menu bar might contain menus for "File," "Edit," and "Help." * * @see #MENU * @see #POPUP_MENU * @see #LAYERED_PANE */ public static final AccessibleRole MENU_BAR = new AccessibleRole("menubar"); /** * A temporary window that is usually used to offer the user a list of * choices, and then hides when the user selects one of those choices. * * @see #MENU * @see #MENU_ITEM */ public static final AccessibleRole POPUP_MENU = new AccessibleRole("popupmenu"); /** * An object usually found inside a menu bar that contains a list of actions * the user can choose from. A menu can have any object as its children, but * most often they are menu items, other menus, or rudimentary objects such * as radio buttons, check boxes, or separators. For example, an application * may have an "Edit" menu that contains menu items for "Cut" and "Paste." * * @see #MENU_BAR * @see #MENU_ITEM * @see #SEPARATOR * @see #RADIO_BUTTON * @see #CHECK_BOX * @see #POPUP_MENU */ public static final AccessibleRole MENU = new AccessibleRole("menu"); /** * An object usually contained in a menu that presents an action the user * can choose. For example, the "Cut" menu item in an "Edit" menu would be * an action the user can select to cut the selected area of text in a * document. * * @see #MENU_BAR * @see #SEPARATOR * @see #POPUP_MENU */ public static final AccessibleRole MENU_ITEM = new AccessibleRole("menuitem"); /** * An object usually contained in a menu to provide a visual and logical * separation of the contents in a menu. For example, the "File" menu of an * application might contain menu items for "Open," "Close," and "Exit," and * will place a separator between "Close" and "Exit" menu items. * * @see #MENU * @see #MENU_ITEM */ public static final AccessibleRole SEPARATOR = new AccessibleRole("separator"); /** * An object that presents a series of panels (or page tabs), one at a time, * through some mechanism provided by the object. The most common mechanism * is a list of tabs at the top of the panel. The children of a page tab * list are all page tabs. * * @see #PAGE_TAB */ public static final AccessibleRole PAGE_TAB_LIST = new AccessibleRole("pagetablist"); /** * An object that is a child of a page tab list. Its sole child is the panel * that is to be presented to the user when the user selects the page tab * from the list of tabs in the page tab list. * * @see #PAGE_TAB_LIST */ public static final AccessibleRole PAGE_TAB = new AccessibleRole("pagetab"); /** * A generic container that is often used to group objects. */ public static final AccessibleRole PANEL = new AccessibleRole("panel"); /** * An object used to indicate how much of a task has been completed. */ public static final AccessibleRole PROGRESS_BAR = new AccessibleRole("progressbar"); /** * A text object used for passwords, or other places where the text contents * is not shown visibly to the user. */ public static final AccessibleRole PASSWORD_TEXT = new AccessibleRole("passwordtext"); /** * An object the user can manipulate to tell the application to do * something. * * @see #CHECK_BOX * @see #TOGGLE_BUTTON * @see #RADIO_BUTTON */ public static final AccessibleRole PUSH_BUTTON = new AccessibleRole("pushbutton"); /** * A specialized push button that can be checked or unchecked, but does not * provide a separate indicator for the current state. * * @see #PUSH_BUTTON * @see #CHECK_BOX * @see #RADIO_BUTTON */ public static final AccessibleRole TOGGLE_BUTTON = new AccessibleRole("togglebutton"); /** * A choice that can be checked or unchecked and provides a separate * indicator for the current state. * * @see #PUSH_BUTTON * @see #TOGGLE_BUTTON * @see #RADIO_BUTTON */ public static final AccessibleRole CHECK_BOX = new AccessibleRole("checkbox"); /** * A specialized check box that will cause other radio buttons in the same * group to become unchecked when this one is checked. * * @see #PUSH_BUTTON * @see #TOGGLE_BUTTON * @see #CHECK_BOX */ public static final AccessibleRole RADIO_BUTTON = new AccessibleRole("radiobutton"); /** * The header for a row of data. */ public static final AccessibleRole ROW_HEADER = new AccessibleRole("rowheader"); /** * An object that allows a user to incrementally view a large amount of * information. Its children can include scroll bars and a viewport. * * @see #SCROLL_BAR * @see #VIEWPORT */ public static final AccessibleRole SCROLL_PANE = new AccessibleRole("scrollpane"); /** * An object usually used to allow a user to incrementally view a large * amount of data. Usually used only by a scroll pane. * * @see #SCROLL_PANE */ public static final AccessibleRole SCROLL_BAR = new AccessibleRole("scrollbar"); /** * An object usually used in a scroll pane. It represents the portion of the * entire data that the user can see. As the user manipulates the scroll * bars, the contents of the viewport can change. * * @see #SCROLL_PANE */ public static final AccessibleRole VIEWPORT = new AccessibleRole("viewport"); /** * An object that allows the user to select from a bounded range. For * example, a slider might be used to select a number between 0 and 100. */ public static final AccessibleRole SLIDER = new AccessibleRole("slider"); /** * A specialized panel that presents two other panels at the same time. * Between the two panels is a divider the user can manipulate to make one * panel larger and the other panel smaller. */ public static final AccessibleRole SPLIT_PANE = new AccessibleRole("splitpane"); /** * An object used to present information in terms of rows and columns. An * example might include a spreadsheet application. */ public static final AccessibleRole TABLE = new AccessibleRole("table"); /** * An object that presents text to the user. The text is usually editable by * the user as opposed to a label. * * @see #LABEL */ public static final AccessibleRole TEXT = new AccessibleRole("text"); /** * An object used to present hierarchical information to the user. The * individual nodes in the tree can be collapsed and expanded to provide * selective disclosure of the tree's contents. */ public static final AccessibleRole TREE = new AccessibleRole("tree"); /** * A bar or palette usually composed of push buttons or toggle buttons. It * is often used to provide the most frequently used functions for an * application. */ public static final AccessibleRole TOOL_BAR = new AccessibleRole("toolbar"); /** * An object that provides information about another object. The * {@code accessibleDescription} property of the tool tip is often displayed * to the user in a small "help bubble" when the user causes the mouse to * hover over the object associated with the tool tip. */ public static final AccessibleRole TOOL_TIP = new AccessibleRole("tooltip"); /** * An AWT component, but nothing else is known about it. * * @see #SWING_COMPONENT * @see #UNKNOWN */ public static final AccessibleRole AWT_COMPONENT = new AccessibleRole("awtcomponent"); /** * A Swing component, but nothing else is known about it. * * @see #AWT_COMPONENT * @see #UNKNOWN */ public static final AccessibleRole SWING_COMPONENT = new AccessibleRole("swingcomponent"); /** * The object contains some {@code Accessible} information, but its role is * not known. * * @see #AWT_COMPONENT * @see #SWING_COMPONENT */ public static final AccessibleRole UNKNOWN = new AccessibleRole("unknown"); /** * A {@code STATUS_BAR} is an simple component that can contain multiple * labels of status information to the user. */ public static final AccessibleRole STATUS_BAR = new AccessibleRole("statusbar"); /** * A {@code DATE_EDITOR} is a component that allows users to edit * {@code java.util.Date} and {@code java.util.Time} objects. */ public static final AccessibleRole DATE_EDITOR = new AccessibleRole("dateeditor"); /** * A {@code SPIN_BOX} is a simple spinner component and its main use is for * simple numbers. */ public static final AccessibleRole SPIN_BOX = new AccessibleRole("spinbox"); /** * A {@code FONT_CHOOSER} is a component that lets the user pick various * attributes for fonts. */ public static final AccessibleRole FONT_CHOOSER = new AccessibleRole("fontchooser"); /** * A {@code GROUP_BOX} is a simple container that contains a border around * it and contains components inside it. */ public static final AccessibleRole GROUP_BOX = new AccessibleRole("groupbox"); /** * A text header. * * @since 1.5 */ public static final AccessibleRole HEADER = new AccessibleRole("header"); /** * A text footer. * * @since 1.5 */ public static final AccessibleRole FOOTER = new AccessibleRole("footer"); /** * A text paragraph. * * @since 1.5 */ public static final AccessibleRole PARAGRAPH = new AccessibleRole("paragraph"); /** * A ruler is an object used to measure distance. * * @since 1.5 */ public static final AccessibleRole RULER = new AccessibleRole("ruler"); /** * A role indicating the object acts as a formula for calculating a value. * An example is a formula in a spreadsheet cell. * * @since 1.5 */ public static final AccessibleRole EDITBAR = new AccessibleRole("editbar"); /** * A role indicating the object monitors the progress of some operation. * * @since 1.5 */ public static final AccessibleRole PROGRESS_MONITOR = new AccessibleRole("progressMonitor"); // The following are all under consideration for potential future use. // public static final AccessibleRole APPLICATION // = new AccessibleRole("application"); // public static final AccessibleRole BORDER // = new AccessibleRole("border"); // public static final AccessibleRole CHECK_BOX_MENU_ITEM // = new AccessibleRole("checkboxmenuitem"); // public static final AccessibleRole CHOICE // = new AccessibleRole("choice"); // public static final AccessibleRole COLUMN // = new AccessibleRole("column"); // public static final AccessibleRole CURSOR // = new AccessibleRole("cursor"); // public static final AccessibleRole DOCUMENT // = new AccessibleRole("document"); // public static final AccessibleRole IMAGE // = new AccessibleRole("Image"); // public static final AccessibleRole INDICATOR // = new AccessibleRole("indicator"); // public static final AccessibleRole RADIO_BUTTON_MENU_ITEM // = new AccessibleRole("radiobuttonmenuitem"); // public static final AccessibleRole ROW // = new AccessibleRole("row"); // public static final AccessibleRole TABLE_CELL // = new AccessibleRole("tablecell"); // public static final AccessibleRole TREE_NODE // = new AccessibleRole("treenode"); /** * Creates a new {@code AccessibleRole} 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 {@code String} should be a locale independent key for the role. * It is not intended to be used as the actual {@code String} to display to * the user. To get the localized string, use {@link #toDisplayString()}. * * @param key the locale independent name of the role * @see AccessibleBundle#toDisplayString */ protected AccessibleRole(String key) { this.key = key; } }