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/AccessibleContext.java
38829 views
1
/*
2
* Copyright (c) 1997, 2013, 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 sun.awt.AWTAccessor;
29
import sun.awt.AppContext;
30
31
import java.util.Locale;
32
import java.beans.PropertyChangeListener;
33
import java.beans.PropertyChangeSupport;
34
import java.beans.PropertyChangeEvent;
35
import java.awt.IllegalComponentStateException;
36
37
/**
38
* AccessibleContext represents the minimum information all accessible objects
39
* return. This information includes the accessible name, description, role,
40
* and state of the object, as well as information about its parent and
41
* children. AccessibleContext also contains methods for
42
* obtaining more specific accessibility information about a component.
43
* If the component supports them, these methods will return an object that
44
* implements one or more of the following interfaces:
45
* <P><ul>
46
* <li>{@link AccessibleAction} - the object can perform one or more actions.
47
* This interface provides the standard mechanism for an assistive
48
* technology to determine what those actions are and tell the object
49
* to perform them. Any object that can be manipulated should
50
* support this interface.
51
* <li>{@link AccessibleComponent} - the object has a graphical representation.
52
* This interface provides the standard mechanism for an assistive
53
* technology to determine and set the graphical representation of the
54
* object. Any object that is rendered on the screen should support
55
* this interface.
56
* <li>{@link AccessibleSelection} - the object allows its children to be
57
* selected. This interface provides the standard mechanism for an
58
* assistive technology to determine the currently selected children of the object
59
* as well as modify its selection set. Any object that has children
60
* that can be selected should support this interface.
61
* <li>{@link AccessibleText} - the object presents editable textual information
62
* on the display. This interface provides the standard mechanism for
63
* an assistive technology to access that text via its content, attributes,
64
* and spatial location. Any object that contains editable text should
65
* support this interface.
66
* <li>{@link AccessibleValue} - the object supports a numerical value. This
67
* interface provides the standard mechanism for an assistive technology
68
* to determine and set the current value of the object, as well as obtain its
69
* minimum and maximum values. Any object that supports a numerical value
70
* should support this interface.</ul>
71
*
72
*
73
* @beaninfo
74
* attribute: isContainer false
75
* description: Minimal information that all accessible objects return
76
*
77
78
* @author Peter Korn
79
* @author Hans Muller
80
* @author Willie Walker
81
* @author Lynn Monsanto
82
*/
83
public abstract class AccessibleContext {
84
85
/**
86
* The AppContext that should be used to dispatch events for this
87
* AccessibleContext
88
*/
89
private volatile AppContext targetAppContext;
90
91
static {
92
AWTAccessor.setAccessibleContextAccessor(new AWTAccessor.AccessibleContextAccessor() {
93
@Override
94
public void setAppContext(AccessibleContext accessibleContext, AppContext appContext) {
95
accessibleContext.targetAppContext = appContext;
96
}
97
98
@Override
99
public AppContext getAppContext(AccessibleContext accessibleContext) {
100
return accessibleContext.targetAppContext;
101
}
102
});
103
}
104
105
/**
106
* Constant used to determine when the accessibleName property has
107
* changed. The old value in the PropertyChangeEvent will be the old
108
* accessibleName and the new value will be the new accessibleName.
109
*
110
* @see #getAccessibleName
111
* @see #addPropertyChangeListener
112
*/
113
public static final String ACCESSIBLE_NAME_PROPERTY = "AccessibleName";
114
115
/**
116
* Constant used to determine when the accessibleDescription property has
117
* changed. The old value in the PropertyChangeEvent will be the
118
* old accessibleDescription and the new value will be the new
119
* accessibleDescription.
120
*
121
* @see #getAccessibleDescription
122
* @see #addPropertyChangeListener
123
*/
124
public static final String ACCESSIBLE_DESCRIPTION_PROPERTY = "AccessibleDescription";
125
126
/**
127
* Constant used to determine when the accessibleStateSet property has
128
* changed. The old value will be the old AccessibleState and the new
129
* value will be the new AccessibleState in the accessibleStateSet.
130
* For example, if a component that supports the vertical and horizontal
131
* states changes its orientation from vertical to horizontal, the old
132
* value will be AccessibleState.VERTICAL and the new value will be
133
* AccessibleState.HORIZONTAL. Please note that either value can also
134
* be null. For example, when a component changes from being enabled
135
* to disabled, the old value will be AccessibleState.ENABLED
136
* and the new value will be null.
137
*
138
* @see #getAccessibleStateSet
139
* @see AccessibleState
140
* @see AccessibleStateSet
141
* @see #addPropertyChangeListener
142
*/
143
public static final String ACCESSIBLE_STATE_PROPERTY = "AccessibleState";
144
145
/**
146
* Constant used to determine when the accessibleValue property has
147
* changed. The old value in the PropertyChangeEvent will be a Number
148
* representing the old value and the new value will be a Number
149
* representing the new value
150
*
151
* @see #getAccessibleValue
152
* @see #addPropertyChangeListener
153
*/
154
public static final String ACCESSIBLE_VALUE_PROPERTY = "AccessibleValue";
155
156
/**
157
* Constant used to determine when the accessibleSelection has changed.
158
* The old and new values in the PropertyChangeEvent are currently
159
* reserved for future use.
160
*
161
* @see #getAccessibleSelection
162
* @see #addPropertyChangeListener
163
*/
164
public static final String ACCESSIBLE_SELECTION_PROPERTY = "AccessibleSelection";
165
166
/**
167
* Constant used to determine when the accessibleText caret has changed.
168
* The old value in the PropertyChangeEvent will be an
169
* integer representing the old caret position, and the new value will
170
* be an integer representing the new/current caret position.
171
*
172
* @see #addPropertyChangeListener
173
*/
174
public static final String ACCESSIBLE_CARET_PROPERTY = "AccessibleCaret";
175
176
/**
177
* Constant used to determine when the visual appearance of the object
178
* has changed. The old and new values in the PropertyChangeEvent are
179
* currently reserved for future use.
180
*
181
* @see #addPropertyChangeListener
182
*/
183
public static final String ACCESSIBLE_VISIBLE_DATA_PROPERTY = "AccessibleVisibleData";
184
185
/**
186
* Constant used to determine when Accessible children are added/removed
187
* from the object. If an Accessible child is being added, the old
188
* value will be null and the new value will be the Accessible child. If an
189
* Accessible child is being removed, the old value will be the Accessible
190
* child, and the new value will be null.
191
*
192
* @see #addPropertyChangeListener
193
*/
194
public static final String ACCESSIBLE_CHILD_PROPERTY = "AccessibleChild";
195
196
/**
197
* Constant used to determine when the active descendant of a component
198
* has changed. The active descendant is used for objects such as
199
* list, tree, and table, which may have transient children. When the
200
* active descendant has changed, the old value of the property change
201
* event will be the Accessible representing the previous active child, and
202
* the new value will be the Accessible representing the current active
203
* child.
204
*
205
* @see #addPropertyChangeListener
206
*/
207
public static final String ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY = "AccessibleActiveDescendant";
208
209
/**
210
* Constant used to indicate that the table caption has changed
211
* The old value in the PropertyChangeEvent will be an Accessible
212
* representing the previous table caption and the new value will
213
* be an Accessible representing the new table caption.
214
* @see Accessible
215
* @see AccessibleTable
216
*/
217
public static final String ACCESSIBLE_TABLE_CAPTION_CHANGED =
218
"accessibleTableCaptionChanged";
219
220
/**
221
* Constant used to indicate that the table summary has changed
222
* The old value in the PropertyChangeEvent will be an Accessible
223
* representing the previous table summary and the new value will
224
* be an Accessible representing the new table summary.
225
* @see Accessible
226
* @see AccessibleTable
227
*/
228
public static final String ACCESSIBLE_TABLE_SUMMARY_CHANGED =
229
"accessibleTableSummaryChanged";
230
231
/**
232
* Constant used to indicate that table data has changed.
233
* The old value in the PropertyChangeEvent will be null and the
234
* new value will be an AccessibleTableModelChange representing
235
* the table change.
236
* @see AccessibleTable
237
* @see AccessibleTableModelChange
238
*/
239
public static final String ACCESSIBLE_TABLE_MODEL_CHANGED =
240
"accessibleTableModelChanged";
241
242
/**
243
* Constant used to indicate that the row header has changed
244
* The old value in the PropertyChangeEvent will be null and the
245
* new value will be an AccessibleTableModelChange representing
246
* the header change.
247
* @see AccessibleTable
248
* @see AccessibleTableModelChange
249
*/
250
public static final String ACCESSIBLE_TABLE_ROW_HEADER_CHANGED =
251
"accessibleTableRowHeaderChanged";
252
253
/**
254
* Constant used to indicate that the row description has changed
255
* The old value in the PropertyChangeEvent will be null and the
256
* new value will be an Integer representing the row index.
257
* @see AccessibleTable
258
*/
259
public static final String ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED =
260
"accessibleTableRowDescriptionChanged";
261
262
/**
263
* Constant used to indicate that the column header has changed
264
* The old value in the PropertyChangeEvent will be null and the
265
* new value will be an AccessibleTableModelChange representing
266
* the header change.
267
* @see AccessibleTable
268
* @see AccessibleTableModelChange
269
*/
270
public static final String ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED =
271
"accessibleTableColumnHeaderChanged";
272
273
/**
274
* Constant used to indicate that the column description has changed
275
* The old value in the PropertyChangeEvent will be null and the
276
* new value will be an Integer representing the column index.
277
* @see AccessibleTable
278
*/
279
public static final String ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED =
280
"accessibleTableColumnDescriptionChanged";
281
282
/**
283
* Constant used to indicate that the supported set of actions
284
* has changed. The old value in the PropertyChangeEvent will
285
* be an Integer representing the old number of actions supported
286
* and the new value will be an Integer representing the new
287
* number of actions supported.
288
* @see AccessibleAction
289
*/
290
public static final String ACCESSIBLE_ACTION_PROPERTY =
291
"accessibleActionProperty";
292
293
/**
294
* Constant used to indicate that a hypertext element has received focus.
295
* The old value in the PropertyChangeEvent will be an Integer
296
* representing the start index in the document of the previous element
297
* that had focus and the new value will be an Integer representing
298
* the start index in the document of the current element that has
299
* focus. A value of -1 indicates that an element does not or did
300
* not have focus.
301
* @see AccessibleHyperlink
302
*/
303
public static final String ACCESSIBLE_HYPERTEXT_OFFSET =
304
"AccessibleHypertextOffset";
305
306
/**
307
* PropertyChangeEvent which indicates that text has changed.
308
* <br>
309
* For text insertion, the oldValue is null and the newValue
310
* is an AccessibleTextSequence specifying the text that was
311
* inserted.
312
* <br>
313
* For text deletion, the oldValue is an AccessibleTextSequence
314
* specifying the text that was deleted and the newValue is null.
315
* <br>
316
* For text replacement, the oldValue is an AccessibleTextSequence
317
* specifying the old text and the newValue is an AccessibleTextSequence
318
* specifying the new text.
319
*
320
* @see #getAccessibleText
321
* @see #addPropertyChangeListener
322
* @see AccessibleTextSequence
323
*/
324
public static final String ACCESSIBLE_TEXT_PROPERTY
325
= "AccessibleText";
326
327
/**
328
* PropertyChangeEvent which indicates that a significant change
329
* has occurred to the children of a component like a tree or text.
330
* This change notifies the event listener that it needs to
331
* reacquire the state of the subcomponents. The oldValue is
332
* null and the newValue is the component whose children have
333
* become invalid.
334
*
335
* @see #getAccessibleText
336
* @see #addPropertyChangeListener
337
* @see AccessibleTextSequence
338
*
339
* @since 1.5
340
*/
341
public static final String ACCESSIBLE_INVALIDATE_CHILDREN =
342
"accessibleInvalidateChildren";
343
344
/**
345
* PropertyChangeEvent which indicates that text attributes have changed.
346
* <br>
347
* For attribute insertion, the oldValue is null and the newValue
348
* is an AccessibleAttributeSequence specifying the attributes that were
349
* inserted.
350
* <br>
351
* For attribute deletion, the oldValue is an AccessibleAttributeSequence
352
* specifying the attributes that were deleted and the newValue is null.
353
* <br>
354
* For attribute replacement, the oldValue is an AccessibleAttributeSequence
355
* specifying the old attributes and the newValue is an
356
* AccessibleAttributeSequence specifying the new attributes.
357
*
358
* @see #getAccessibleText
359
* @see #addPropertyChangeListener
360
* @see AccessibleAttributeSequence
361
*
362
* @since 1.5
363
*/
364
public static final String ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED =
365
"accessibleTextAttributesChanged";
366
367
/**
368
* PropertyChangeEvent which indicates that a change has occurred
369
* in a component's bounds.
370
* The oldValue is the old component bounds and the newValue is
371
* the new component bounds.
372
*
373
* @see #addPropertyChangeListener
374
*
375
* @since 1.5
376
*/
377
public static final String ACCESSIBLE_COMPONENT_BOUNDS_CHANGED =
378
"accessibleComponentBoundsChanged";
379
380
/**
381
* The accessible parent of this object.
382
*
383
* @see #getAccessibleParent
384
* @see #setAccessibleParent
385
*/
386
protected Accessible accessibleParent = null;
387
388
/**
389
* A localized String containing the name of the object.
390
*
391
* @see #getAccessibleName
392
* @see #setAccessibleName
393
*/
394
protected String accessibleName = null;
395
396
/**
397
* A localized String containing the description of the object.
398
*
399
* @see #getAccessibleDescription
400
* @see #setAccessibleDescription
401
*/
402
protected String accessibleDescription = null;
403
404
/**
405
* Used to handle the listener list for property change events.
406
*
407
* @see #addPropertyChangeListener
408
* @see #removePropertyChangeListener
409
* @see #firePropertyChangeListener
410
*/
411
private PropertyChangeSupport accessibleChangeSupport = null;
412
413
/**
414
* Used to represent the context's relation set
415
* @see #getAccessibleRelationSet
416
*/
417
private AccessibleRelationSet relationSet
418
= new AccessibleRelationSet();
419
420
private Object nativeAXResource;
421
422
/**
423
* Gets the accessibleName property of this object. The accessibleName
424
* property of an object is a localized String that designates the purpose
425
* of the object. For example, the accessibleName property of a label
426
* or button might be the text of the label or button itself. In the
427
* case of an object that doesn't display its name, the accessibleName
428
* should still be set. For example, in the case of a text field used
429
* to enter the name of a city, the accessibleName for the en_US locale
430
* could be 'city.'
431
*
432
* @return the localized name of the object; null if this
433
* object does not have a name
434
*
435
* @see #setAccessibleName
436
*/
437
public String getAccessibleName() {
438
return accessibleName;
439
}
440
441
/**
442
* Sets the localized accessible name of this object. Changing the
443
* name will cause a PropertyChangeEvent to be fired for the
444
* ACCESSIBLE_NAME_PROPERTY property.
445
*
446
* @param s the new localized name of the object.
447
*
448
* @see #getAccessibleName
449
* @see #addPropertyChangeListener
450
*
451
* @beaninfo
452
* preferred: true
453
* description: Sets the accessible name for the component.
454
*/
455
public void setAccessibleName(String s) {
456
String oldName = accessibleName;
457
accessibleName = s;
458
firePropertyChange(ACCESSIBLE_NAME_PROPERTY,oldName,accessibleName);
459
}
460
461
/**
462
* Gets the accessibleDescription property of this object. The
463
* accessibleDescription property of this object is a short localized
464
* phrase describing the purpose of the object. For example, in the
465
* case of a 'Cancel' button, the accessibleDescription could be
466
* 'Ignore changes and close dialog box.'
467
*
468
* @return the localized description of the object; null if
469
* this object does not have a description
470
*
471
* @see #setAccessibleDescription
472
*/
473
public String getAccessibleDescription() {
474
return accessibleDescription;
475
}
476
477
/**
478
* Sets the accessible description of this object. Changing the
479
* name will cause a PropertyChangeEvent to be fired for the
480
* ACCESSIBLE_DESCRIPTION_PROPERTY property.
481
*
482
* @param s the new localized description of the object
483
*
484
* @see #setAccessibleName
485
* @see #addPropertyChangeListener
486
*
487
* @beaninfo
488
* preferred: true
489
* description: Sets the accessible description for the component.
490
*/
491
public void setAccessibleDescription(String s) {
492
String oldDescription = accessibleDescription;
493
accessibleDescription = s;
494
firePropertyChange(ACCESSIBLE_DESCRIPTION_PROPERTY,
495
oldDescription,accessibleDescription);
496
}
497
498
/**
499
* Gets the role of this object. The role of the object is the generic
500
* purpose or use of the class of this object. For example, the role
501
* of a push button is AccessibleRole.PUSH_BUTTON. The roles in
502
* AccessibleRole are provided so component developers can pick from
503
* a set of predefined roles. This enables assistive technologies to
504
* provide a consistent interface to various tweaked subclasses of
505
* components (e.g., use AccessibleRole.PUSH_BUTTON for all components
506
* that act like a push button) as well as distinguish between subclasses
507
* that behave differently (e.g., AccessibleRole.CHECK_BOX for check boxes
508
* and AccessibleRole.RADIO_BUTTON for radio buttons).
509
* <p>Note that the AccessibleRole class is also extensible, so
510
* custom component developers can define their own AccessibleRole's
511
* if the set of predefined roles is inadequate.
512
*
513
* @return an instance of AccessibleRole describing the role of the object
514
* @see AccessibleRole
515
*/
516
public abstract AccessibleRole getAccessibleRole();
517
518
/**
519
* Gets the state set of this object. The AccessibleStateSet of an object
520
* is composed of a set of unique AccessibleStates. A change in the
521
* AccessibleStateSet of an object will cause a PropertyChangeEvent to
522
* be fired for the ACCESSIBLE_STATE_PROPERTY property.
523
*
524
* @return an instance of AccessibleStateSet containing the
525
* current state set of the object
526
* @see AccessibleStateSet
527
* @see AccessibleState
528
* @see #addPropertyChangeListener
529
*/
530
public abstract AccessibleStateSet getAccessibleStateSet();
531
532
/**
533
* Gets the Accessible parent of this object.
534
*
535
* @return the Accessible parent of this object; null if this
536
* object does not have an Accessible parent
537
*/
538
public Accessible getAccessibleParent() {
539
return accessibleParent;
540
}
541
542
/**
543
* Sets the Accessible parent of this object. This is meant to be used
544
* only in the situations where the actual component's parent should
545
* not be treated as the component's accessible parent and is a method
546
* that should only be called by the parent of the accessible child.
547
*
548
* @param a - Accessible to be set as the parent
549
*/
550
public void setAccessibleParent(Accessible a) {
551
accessibleParent = a;
552
}
553
554
/**
555
* Gets the 0-based index of this object in its accessible parent.
556
*
557
* @return the 0-based index of this object in its parent; -1 if this
558
* object does not have an accessible parent.
559
*
560
* @see #getAccessibleParent
561
* @see #getAccessibleChildrenCount
562
* @see #getAccessibleChild
563
*/
564
public abstract int getAccessibleIndexInParent();
565
566
/**
567
* Returns the number of accessible children of the object.
568
*
569
* @return the number of accessible children of the object.
570
*/
571
public abstract int getAccessibleChildrenCount();
572
573
/**
574
* Returns the specified Accessible child of the object. The Accessible
575
* children of an Accessible object are zero-based, so the first child
576
* of an Accessible child is at index 0, the second child is at index 1,
577
* and so on.
578
*
579
* @param i zero-based index of child
580
* @return the Accessible child of the object
581
* @see #getAccessibleChildrenCount
582
*/
583
public abstract Accessible getAccessibleChild(int i);
584
585
/**
586
* Gets the locale of the component. If the component does not have a
587
* locale, then the locale of its parent is returned.
588
*
589
* @return this component's locale. If this component does not have
590
* a locale, the locale of its parent is returned.
591
*
592
* @exception IllegalComponentStateException
593
* If the Component does not have its own locale and has not yet been
594
* added to a containment hierarchy such that the locale can be
595
* determined from the containing parent.
596
*/
597
public abstract Locale getLocale() throws IllegalComponentStateException;
598
599
/**
600
* Adds a PropertyChangeListener to the listener list.
601
* The listener is registered for all Accessible properties and will
602
* be called when those properties change.
603
*
604
* @see #ACCESSIBLE_NAME_PROPERTY
605
* @see #ACCESSIBLE_DESCRIPTION_PROPERTY
606
* @see #ACCESSIBLE_STATE_PROPERTY
607
* @see #ACCESSIBLE_VALUE_PROPERTY
608
* @see #ACCESSIBLE_SELECTION_PROPERTY
609
* @see #ACCESSIBLE_TEXT_PROPERTY
610
* @see #ACCESSIBLE_VISIBLE_DATA_PROPERTY
611
*
612
* @param listener The PropertyChangeListener to be added
613
*/
614
public void addPropertyChangeListener(PropertyChangeListener listener) {
615
if (accessibleChangeSupport == null) {
616
accessibleChangeSupport = new PropertyChangeSupport(this);
617
}
618
accessibleChangeSupport.addPropertyChangeListener(listener);
619
}
620
621
/**
622
* Removes a PropertyChangeListener from the listener list.
623
* This removes a PropertyChangeListener that was registered
624
* for all properties.
625
*
626
* @param listener The PropertyChangeListener to be removed
627
*/
628
public void removePropertyChangeListener(PropertyChangeListener listener) {
629
if (accessibleChangeSupport != null) {
630
accessibleChangeSupport.removePropertyChangeListener(listener);
631
}
632
}
633
634
/**
635
* Gets the AccessibleAction associated with this object that supports
636
* one or more actions.
637
*
638
* @return AccessibleAction if supported by object; else return null
639
* @see AccessibleAction
640
*/
641
public AccessibleAction getAccessibleAction() {
642
return null;
643
}
644
645
/**
646
* Gets the AccessibleComponent associated with this object that has a
647
* graphical representation.
648
*
649
* @return AccessibleComponent if supported by object; else return null
650
* @see AccessibleComponent
651
*/
652
public AccessibleComponent getAccessibleComponent() {
653
return null;
654
}
655
656
/**
657
* Gets the AccessibleSelection associated with this object which allows its
658
* Accessible children to be selected.
659
*
660
* @return AccessibleSelection if supported by object; else return null
661
* @see AccessibleSelection
662
*/
663
public AccessibleSelection getAccessibleSelection() {
664
return null;
665
}
666
667
/**
668
* Gets the AccessibleText associated with this object presenting
669
* text on the display.
670
*
671
* @return AccessibleText if supported by object; else return null
672
* @see AccessibleText
673
*/
674
public AccessibleText getAccessibleText() {
675
return null;
676
}
677
678
/**
679
* Gets the AccessibleEditableText associated with this object
680
* presenting editable text on the display.
681
*
682
* @return AccessibleEditableText if supported by object; else return null
683
* @see AccessibleEditableText
684
* @since 1.4
685
*/
686
public AccessibleEditableText getAccessibleEditableText() {
687
return null;
688
}
689
690
691
/**
692
* Gets the AccessibleValue associated with this object that supports a
693
* Numerical value.
694
*
695
* @return AccessibleValue if supported by object; else return null
696
* @see AccessibleValue
697
*/
698
public AccessibleValue getAccessibleValue() {
699
return null;
700
}
701
702
/**
703
* Gets the AccessibleIcons associated with an object that has
704
* one or more associated icons
705
*
706
* @return an array of AccessibleIcon if supported by object;
707
* otherwise return null
708
* @see AccessibleIcon
709
* @since 1.3
710
*/
711
public AccessibleIcon [] getAccessibleIcon() {
712
return null;
713
}
714
715
/**
716
* Gets the AccessibleRelationSet associated with an object
717
*
718
* @return an AccessibleRelationSet if supported by object;
719
* otherwise return null
720
* @see AccessibleRelationSet
721
* @since 1.3
722
*/
723
public AccessibleRelationSet getAccessibleRelationSet() {
724
return relationSet;
725
}
726
727
/**
728
* Gets the AccessibleTable associated with an object
729
*
730
* @return an AccessibleTable if supported by object;
731
* otherwise return null
732
* @see AccessibleTable
733
* @since 1.3
734
*/
735
public AccessibleTable getAccessibleTable() {
736
return null;
737
}
738
739
/**
740
* Support for reporting bound property changes. If oldValue and
741
* newValue are not equal and the PropertyChangeEvent listener list
742
* is not empty, then fire a PropertyChange event to each listener.
743
* In general, this is for use by the Accessible objects themselves
744
* and should not be called by an application program.
745
* @param propertyName The programmatic name of the property that
746
* was changed.
747
* @param oldValue The old value of the property.
748
* @param newValue The new value of the property.
749
* @see java.beans.PropertyChangeSupport
750
* @see #addPropertyChangeListener
751
* @see #removePropertyChangeListener
752
* @see #ACCESSIBLE_NAME_PROPERTY
753
* @see #ACCESSIBLE_DESCRIPTION_PROPERTY
754
* @see #ACCESSIBLE_STATE_PROPERTY
755
* @see #ACCESSIBLE_VALUE_PROPERTY
756
* @see #ACCESSIBLE_SELECTION_PROPERTY
757
* @see #ACCESSIBLE_TEXT_PROPERTY
758
* @see #ACCESSIBLE_VISIBLE_DATA_PROPERTY
759
*/
760
public void firePropertyChange(String propertyName,
761
Object oldValue,
762
Object newValue) {
763
if (accessibleChangeSupport != null) {
764
if (newValue instanceof PropertyChangeEvent) {
765
PropertyChangeEvent pce = (PropertyChangeEvent)newValue;
766
accessibleChangeSupport.firePropertyChange(pce);
767
} else {
768
accessibleChangeSupport.firePropertyChange(propertyName,
769
oldValue,
770
newValue);
771
}
772
}
773
}
774
}
775
776