< prev index next >
src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java
Print this page
@@ -84,10 +84,19 @@
return LWCToolkit.invokeAndWait(callable, c);
} catch (final Exception e) { e.printStackTrace(); }
return null;
}
+ static <T> T invokeAndWait(final Callable<T> callable, final Component c, final T defValue) {
+ T value = null;
+ try {
+ value = LWCToolkit.invokeAndWait(callable, c);
+ } catch (final Exception e) { e.printStackTrace(); }
+
+ return value != null ? value : defValue;
+ }
+
static void invokeLater(final Runnable runnable, final Component c) {
try {
LWCToolkit.invokeLater(runnable, c);
} catch (InvocationTargetException e) { e.printStackTrace(); }
}
@@ -179,11 +188,11 @@
final AccessibleSelection as = ac.getAccessibleSelection();
if (as == null) return Boolean.FALSE;
return as.isAccessibleChildSelected(index);
}
- }, c);
+ }, c, false);
}
public static AccessibleStateSet getAccessibleStateSet(final AccessibleContext ac, final Component c) {
if (ac == null) return null;
@@ -201,11 +210,11 @@
public Boolean call() throws Exception {
final AccessibleStateSet ass = ac.getAccessibleStateSet();
if (ass == null) return null;
return ass.contains(as);
}
- }, c);
+ }, c, false);
}
static String getAccessibleRoleFor(final Accessible a) {
final AccessibleContext ac = a.getAccessibleContext();
if (ac == null) return null;
@@ -246,11 +255,11 @@
return invokeAndWait(new Callable<Integer>() {
public Integer call() throws Exception {
return at.getCharCount();
}
- }, c);
+ }, c, 0);
}
// Accessibility Threadsafety for JavaComponentAccessibility.m
public static Accessible getAccessibleParent(final Accessible a, final Component c) {
if (a == null) return null;
@@ -271,11 +280,11 @@
public Integer call() throws Exception {
final AccessibleContext ac = a.getAccessibleContext();
if (ac == null) return null;
return ac.getAccessibleIndexInParent();
}
- }, c);
+ }, c, -1);
}
public static AccessibleComponent getAccessibleComponent(final Accessible a, final Component c) {
if (a == null) return null;
@@ -367,11 +376,11 @@
final AccessibleComponent aComp = ac.getAccessibleComponent();
if (aComp == null) return null;
return aComp.isFocusTraversable();
}
- }, c);
+ }, c, false);
}
public static Accessible accessibilityHitTest(final Container parent, final float hitPointX, final float hitPointY) {
return invokeAndWait(new Callable<Accessible>() {
public Accessible call() throws Exception {
@@ -426,11 +435,11 @@
final AccessibleComponent aComp = ac.getAccessibleComponent();
if (aComp == null) return null;
return aComp.isEnabled();
}
- }, c);
+ }, c, false);
}
// KCH - can we make this a postEvent instead?
public static void requestFocus(final Accessible a, final Component c) {
if (a == null) return;
< prev index next >