Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/share/classes/javax/accessibility/AccessibleState.java
38829 views
1
/*
2
* Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package javax.accessibility;
27
28
import java.util.Vector;
29
import java.util.Locale;
30
import java.util.MissingResourceException;
31
import java.util.ResourceBundle;
32
33
/**
34
* <P>Class AccessibleState describes a component's particular state. The actual
35
* state of the component is defined as an AccessibleStateSet, which is a
36
* composed set of AccessibleStates.
37
* <p>The toDisplayString method allows you to obtain the localized string
38
* for a locale independent key from a predefined ResourceBundle for the
39
* keys defined in this class.
40
* <p>The constants in this class present a strongly typed enumeration
41
* of common object roles. A public constructor for this class has been
42
* purposely omitted and applications should use one of the constants
43
* from this class. If the constants in this class are not sufficient
44
* to describe the role of an object, a subclass should be generated
45
* from this class and it should provide constants in a similar manner.
46
*
47
* @author Willie Walker
48
* @author Peter Korn
49
*/
50
public class AccessibleState extends AccessibleBundle {
51
52
// If you add or remove anything from here, make sure you
53
// update AccessibleResourceBundle.java.
54
55
/**
56
* Indicates a window is currently the active window. This includes
57
* windows, dialogs, frames, etc. In addition, this state is used
58
* to indicate the currently active child of a component such as a
59
* list, table, or tree. For example, the active child of a list
60
* is the child that is drawn with a rectangle around it.
61
* @see AccessibleRole#WINDOW
62
* @see AccessibleRole#FRAME
63
* @see AccessibleRole#DIALOG
64
*/
65
public static final AccessibleState ACTIVE
66
= new AccessibleState("active");
67
68
/**
69
* Indicates this object is currently pressed. This is usually
70
* associated with buttons and indicates the user has pressed a
71
* mouse button while the pointer was over the button and has
72
* not yet released the mouse button.
73
* @see AccessibleRole#PUSH_BUTTON
74
*/
75
public static final AccessibleState PRESSED
76
= new AccessibleState("pressed");
77
78
/**
79
* Indicates that the object is armed. This is usually used on buttons
80
* that have been pressed but not yet released, and the mouse pointer
81
* is still over the button.
82
* @see AccessibleRole#PUSH_BUTTON
83
*/
84
public static final AccessibleState ARMED
85
= new AccessibleState("armed");
86
87
/**
88
* Indicates the current object is busy. This is usually used on objects
89
* such as progress bars, sliders, or scroll bars to indicate they are
90
* in a state of transition.
91
* @see AccessibleRole#PROGRESS_BAR
92
* @see AccessibleRole#SCROLL_BAR
93
* @see AccessibleRole#SLIDER
94
*/
95
public static final AccessibleState BUSY
96
= new AccessibleState("busy");
97
98
/**
99
* Indicates this object is currently checked. This is usually used on
100
* objects such as toggle buttons, radio buttons, and check boxes.
101
* @see AccessibleRole#TOGGLE_BUTTON
102
* @see AccessibleRole#RADIO_BUTTON
103
* @see AccessibleRole#CHECK_BOX
104
*/
105
public static final AccessibleState CHECKED
106
= new AccessibleState("checked");
107
108
/**
109
* Indicates the user can change the contents of this object. This
110
* is usually used primarily for objects that allow the user to
111
* enter text. Other objects, such as scroll bars and sliders,
112
* are automatically editable if they are enabled.
113
* @see #ENABLED
114
*/
115
public static final AccessibleState EDITABLE
116
= new AccessibleState("editable");
117
118
/**
119
* Indicates this object allows progressive disclosure of its children.
120
* This is usually used with hierarchical objects such as trees and
121
* is often paired with the EXPANDED or COLLAPSED states.
122
* @see #EXPANDED
123
* @see #COLLAPSED
124
* @see AccessibleRole#TREE
125
*/
126
public static final AccessibleState EXPANDABLE
127
= new AccessibleState("expandable");
128
129
/**
130
* Indicates this object is collapsed. This is usually paired with the
131
* EXPANDABLE state and is used on objects that provide progressive
132
* disclosure such as trees.
133
* @see #EXPANDABLE
134
* @see #EXPANDED
135
* @see AccessibleRole#TREE
136
*/
137
public static final AccessibleState COLLAPSED
138
= new AccessibleState("collapsed");
139
140
/**
141
* Indicates this object is expanded. This is usually paired with the
142
* EXPANDABLE state and is used on objects that provide progressive
143
* disclosure such as trees.
144
* @see #EXPANDABLE
145
* @see #COLLAPSED
146
* @see AccessibleRole#TREE
147
*/
148
public static final AccessibleState EXPANDED
149
= new AccessibleState("expanded");
150
151
/**
152
* Indicates this object is enabled. The absence of this state from an
153
* object's state set indicates this object is not enabled. An object
154
* that is not enabled cannot be manipulated by the user. In a graphical
155
* display, it is usually grayed out.
156
*/
157
public static final AccessibleState ENABLED
158
= new AccessibleState("enabled");
159
160
/**
161
* Indicates this object can accept keyboard focus, which means all
162
* events resulting from typing on the keyboard will normally be
163
* passed to it when it has focus.
164
* @see #FOCUSED
165
*/
166
public static final AccessibleState FOCUSABLE
167
= new AccessibleState("focusable");
168
169
/**
170
* Indicates this object currently has the keyboard focus.
171
* @see #FOCUSABLE
172
*/
173
public static final AccessibleState FOCUSED
174
= new AccessibleState("focused");
175
176
/**
177
* Indicates this object is minimized and is represented only by an
178
* icon. This is usually only associated with frames and internal
179
* frames.
180
* @see AccessibleRole#FRAME
181
* @see AccessibleRole#INTERNAL_FRAME
182
*/
183
public static final AccessibleState ICONIFIED
184
= new AccessibleState("iconified");
185
186
/**
187
* Indicates something must be done with this object before the
188
* user can interact with an object in a different window. This
189
* is usually associated only with dialogs.
190
* @see AccessibleRole#DIALOG
191
*/
192
public static final AccessibleState MODAL
193
= new AccessibleState("modal");
194
195
/**
196
* Indicates this object paints every pixel within its
197
* rectangular region. A non-opaque component paints only some of
198
* its pixels, allowing the pixels underneath it to "show through".
199
* A component that does not fully paint its pixels therefore
200
* provides a degree of transparency.
201
* @see Accessible#getAccessibleContext
202
* @see AccessibleContext#getAccessibleComponent
203
* @see AccessibleComponent#getBounds
204
*/
205
public static final AccessibleState OPAQUE
206
= new AccessibleState("opaque");
207
208
/**
209
* Indicates the size of this object is not fixed.
210
* @see Accessible#getAccessibleContext
211
* @see AccessibleContext#getAccessibleComponent
212
* @see AccessibleComponent#getSize
213
* @see AccessibleComponent#setSize
214
*/
215
public static final AccessibleState RESIZABLE
216
= new AccessibleState("resizable");
217
218
219
/**
220
* Indicates this object allows more than one of its children to
221
* be selected at the same time.
222
* @see Accessible#getAccessibleContext
223
* @see AccessibleContext#getAccessibleSelection
224
* @see AccessibleSelection
225
*/
226
public static final AccessibleState MULTISELECTABLE
227
= new AccessibleState("multiselectable");
228
229
/**
230
* Indicates this object is the child of an object that allows its
231
* children to be selected, and that this child is one of those
232
* children that can be selected.
233
* @see #SELECTED
234
* @see Accessible#getAccessibleContext
235
* @see AccessibleContext#getAccessibleSelection
236
* @see AccessibleSelection
237
*/
238
public static final AccessibleState SELECTABLE
239
= new AccessibleState("selectable");
240
241
/**
242
* Indicates this object is the child of an object that allows its
243
* children to be selected, and that this child is one of those
244
* children that has been selected.
245
* @see #SELECTABLE
246
* @see Accessible#getAccessibleContext
247
* @see AccessibleContext#getAccessibleSelection
248
* @see AccessibleSelection
249
*/
250
public static final AccessibleState SELECTED
251
= new AccessibleState("selected");
252
253
/**
254
* Indicates this object, the object's parent, the object's parent's
255
* parent, and so on, are all visible. Note that this does not
256
* necessarily mean the object is painted on the screen. It might
257
* be occluded by some other showing object.
258
* @see #VISIBLE
259
*/
260
public static final AccessibleState SHOWING
261
= new AccessibleState("showing");
262
263
/**
264
* Indicates this object is visible. Note: this means that the
265
* object intends to be visible; however, it may not in fact be
266
* showing on the screen because one of the objects that this object
267
* is contained by is not visible.
268
* @see #SHOWING
269
*/
270
public static final AccessibleState VISIBLE
271
= new AccessibleState("visible");
272
273
/**
274
* Indicates the orientation of this object is vertical. This is
275
* usually associated with objects such as scrollbars, sliders, and
276
* progress bars.
277
* @see #VERTICAL
278
* @see AccessibleRole#SCROLL_BAR
279
* @see AccessibleRole#SLIDER
280
* @see AccessibleRole#PROGRESS_BAR
281
*/
282
public static final AccessibleState VERTICAL
283
= new AccessibleState("vertical");
284
285
/**
286
* Indicates the orientation of this object is horizontal. This is
287
* usually associated with objects such as scrollbars, sliders, and
288
* progress bars.
289
* @see #HORIZONTAL
290
* @see AccessibleRole#SCROLL_BAR
291
* @see AccessibleRole#SLIDER
292
* @see AccessibleRole#PROGRESS_BAR
293
*/
294
public static final AccessibleState HORIZONTAL
295
= new AccessibleState("horizontal");
296
297
/**
298
* Indicates this (text) object can contain only a single line of text
299
*/
300
public static final AccessibleState SINGLE_LINE
301
= new AccessibleState("singleline");
302
303
/**
304
* Indicates this (text) object can contain multiple lines of text
305
*/
306
public static final AccessibleState MULTI_LINE
307
= new AccessibleState("multiline");
308
309
/**
310
* Indicates this object is transient. An assistive technology should
311
* not add a PropertyChange listener to an object with transient state,
312
* as that object will never generate any events. Transient objects
313
* are typically created to answer Java Accessibility method queries,
314
* but otherwise do not remain linked to the underlying object (for
315
* example, those objects underneath lists, tables, and trees in Swing,
316
* where only one actual UI Component does shared rendering duty for
317
* all of the data objects underneath the actual list/table/tree elements).
318
*
319
* @since 1.5
320
*
321
*/
322
public static final AccessibleState TRANSIENT
323
= new AccessibleState("transient");
324
325
/**
326
* Indicates this object is responsible for managing its
327
* subcomponents. This is typically used for trees and tables
328
* that have a large number of subcomponents and where the
329
* objects are created only when needed and otherwise remain virtual.
330
* The application should not manage the subcomponents directly.
331
*
332
* @since 1.5
333
*/
334
public static final AccessibleState MANAGES_DESCENDANTS
335
= new AccessibleState ("managesDescendants");
336
337
/**
338
* Indicates that the object state is indeterminate. An example
339
* is selected text that is partially bold and partially not
340
* bold. In this case the attributes associated with the selected
341
* text are indeterminate.
342
*
343
* @since 1.5
344
*/
345
public static final AccessibleState INDETERMINATE
346
= new AccessibleState ("indeterminate");
347
348
/**
349
* A state indicating that text is truncated by a bounding rectangle
350
* and that some of the text is not displayed on the screen. An example
351
* is text in a spreadsheet cell that is truncated by the bounds of
352
* the cell.
353
*
354
* @since 1.5
355
*/
356
static public final AccessibleState TRUNCATED
357
= new AccessibleState("truncated");
358
359
/**
360
* Creates a new AccessibleState using the given locale independent key.
361
* This should not be a public method. Instead, it is used to create
362
* the constants in this file to make it a strongly typed enumeration.
363
* Subclasses of this class should enforce similar policy.
364
* <p>
365
* The key String should be a locale independent key for the state.
366
* It is not intended to be used as the actual String to display
367
* to the user. To get the localized string, use toDisplayString.
368
*
369
* @param key the locale independent name of the state.
370
* @see AccessibleBundle#toDisplayString
371
*/
372
protected AccessibleState(String key) {
373
this.key = key;
374
}
375
}
376
377