-
Bug
-
Resolution: Fixed
-
P2
-
8u102, 9
-
b172
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8181559 | 10 | Alexey Ivanov | P2 | Resolved | Fixed | b11 |
JDK-8181278 | 9.0.4 | Unassigned | P2 | Resolved | Fixed | b01 |
JDK-8183854 | 8u161 | Unassigned | P2 | Resolved | Fixed | b01 |
JDK-8180481 | 8u152 | Unassigned | P2 | Closed | Fixed | b05 |
JDK-8192590 | emb-8u161 | Unassigned | P2 | Resolved | Fixed | b01 |
The following JList test code generates a NullPointerException (below) when the accessibility subsystem is active (imports not included):
public class TestJList extends JFrame {
private final static String [] ANIMALS = {
"Bird", "Cat", "Dog", "Rabbit", "Pig"
};
TestJList () {
DefaultListModel<String> model = new DefaultListModel<>();
for (String s : ANIMALS) {
model.addElement(s);
}
JList<String> list = new JList<>(model);
list.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if ( e.getKeyChar() == KeyEvent.VK_ENTER
|| e.getKeyCode() == KeyEvent.VK_ENTER) {
String s = list.getSelectedValue();
model.removeAllElements();
model.addElement(s);
}
}
});
add(list);
pack();
}
public static void main(String args[]) {
TestJList tj = new TestJList();
tj.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
tj.setLocationRelativeTo(null);
tj.setVisible(true);
}
stacktrace:
....
java.lang.RuntimeException: java.lang.NullPointerException
at com.sun.java.accessibility.AccessBridge$InvocationUtils.invokeAndWait(AccessBridge.java:7206)
at com.sun.java.accessibility.AccessBridge$InvocationUtils.invokeAndWait(AccessBridge.java:7181)
at com.sun.java.accessibility.AccessBridge.getAccessibleActionFromContext(AccessBridge.java:1782)
at com.sun.java.accessibility.AccessBridge.runDLL(Native Method)
at com.sun.java.accessibility.AccessBridge.access$300(AccessBridge.java:57)
at com.sun.java.accessibility.AccessBridge$dllRunner.run(AccessBridge.java:141)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at javax.swing.JList$AccessibleJList$AccessibleJListChild.getAccessibleAction(JList.java:3374)
at com.sun.java.accessibility.AccessBridge$70.call(AccessBridge.java:1785)
at com.sun.java.accessibility.AccessBridge$70.call(AccessBridge.java:1782)
at com.sun.java.accessibility.AccessBridge$InvocationUtils$CallableWrapper.run(AccessBridge.java:7262)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
To reproduce the exception use the keyboard to navigate to any item in the JList after "Bird" and press the Enter key.
public class TestJList extends JFrame {
private final static String [] ANIMALS = {
"Bird", "Cat", "Dog", "Rabbit", "Pig"
};
TestJList () {
DefaultListModel<String> model = new DefaultListModel<>();
for (String s : ANIMALS) {
model.addElement(s);
}
JList<String> list = new JList<>(model);
list.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if ( e.getKeyChar() == KeyEvent.VK_ENTER
|| e.getKeyCode() == KeyEvent.VK_ENTER) {
String s = list.getSelectedValue();
model.removeAllElements();
model.addElement(s);
}
}
});
add(list);
pack();
}
public static void main(String args[]) {
TestJList tj = new TestJList();
tj.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
tj.setLocationRelativeTo(null);
tj.setVisible(true);
}
stacktrace:
....
java.lang.RuntimeException: java.lang.NullPointerException
at com.sun.java.accessibility.AccessBridge$InvocationUtils.invokeAndWait(AccessBridge.java:7206)
at com.sun.java.accessibility.AccessBridge$InvocationUtils.invokeAndWait(AccessBridge.java:7181)
at com.sun.java.accessibility.AccessBridge.getAccessibleActionFromContext(AccessBridge.java:1782)
at com.sun.java.accessibility.AccessBridge.runDLL(Native Method)
at com.sun.java.accessibility.AccessBridge.access$300(AccessBridge.java:57)
at com.sun.java.accessibility.AccessBridge$dllRunner.run(AccessBridge.java:141)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at javax.swing.JList$AccessibleJList$AccessibleJListChild.getAccessibleAction(JList.java:3374)
at com.sun.java.accessibility.AccessBridge$70.call(AccessBridge.java:1785)
at com.sun.java.accessibility.AccessBridge$70.call(AccessBridge.java:1782)
at com.sun.java.accessibility.AccessBridge$InvocationUtils$CallableWrapper.run(AccessBridge.java:7262)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
To reproduce the exception use the keyboard to navigate to any item in the JList after "Bird" and press the Enter key.
- backported by
-
JDK-8181278 NullPointerException from JComboBox and JList when Accessibility enabled
-
- Resolved
-
-
JDK-8181559 NullPointerException from JComboBox and JList when Accessibility enabled
-
- Resolved
-
-
JDK-8183854 NullPointerException from JComboBox and JList when Accessibility enabled
-
- Resolved
-
-
JDK-8192590 NullPointerException from JComboBox and JList when Accessibility enabled
-
- Resolved
-
-
JDK-8180481 NullPointerException from JComboBox and JList when Accessibility enabled
-
- Closed
-