-
Bug
-
Resolution: Duplicate
-
P2
-
None
-
9
-
None
The spec for JEditorPane.setContentType says:
If the type is not recognized, the content will be loaded using the <code>EditorKit</code> registered for plain text, <code>text/plain</code>.
Unfortunately, after the fix forJDK-6882559, this is no longer true.
Consider this example:
---
public class TestEditorPane {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new javax.swing.JEditorPane("text/x-oql", "");
}
});
}
}
---
Compiling and running it on:
$ ./java -version
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+126)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+126, mixed mode)
$ uname -a
Linux lahvacovo 4.2.0-35-generic #40~14.04.1-Ubuntu SMP Fri Mar 18 16:37:35 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ javac TestEditorPane.java
$ java TestEditorPane
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.JEditorPane.createEditorKitForContentType(java.desktop@9-ea/JEditorPane.java:1188)
at javax.swing.JEditorPane.getEditorKitForContentType(java.desktop@9-ea/JEditorPane.java:1086)
at javax.swing.JEditorPane.setContentType(java.desktop@9-ea/JEditorPane.java:979)
at javax.swing.JEditorPane.<init>(java.desktop@9-ea/JEditorPane.java:291)
at TestEditorPane$1.run(TestEditorPane.java:6)
at java.awt.event.InvocationEvent.dispatch(java.desktop@9-ea/InvocationEvent.java:313)
at java.awt.EventQueue.dispatchEventImpl(java.desktop@9-ea/EventQueue.java:759)
at java.awt.EventQueue.access$500(java.desktop@9-ea/EventQueue.java:97)
at java.awt.EventQueue$3.run(java.desktop@9-ea/EventQueue.java:712)
at java.awt.EventQueue$3.run(java.desktop@9-ea/EventQueue.java:706)
at java.security.AccessController.doPrivileged(java.base@9-ea/Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@9-ea/ProtectionDomain.java:77)
at java.awt.EventQueue.dispatchEvent(java.desktop@9-ea/EventQueue.java:729)
at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@9-ea/EventDispatchThread.java:199)
at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@9-ea/EventDispatchThread.java:124)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(java.desktop@9-ea/EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(java.desktop@9-ea/EventDispatchThread.java:109)
at java.awt.EventDispatchThread.pumpEvents(java.desktop@9-ea/EventDispatchThread.java:101)
at java.awt.EventDispatchThread.run(java.desktop@9-ea/EventDispatchThread.java:90)
Originally reported here:
https://netbeans.org/bugzilla/show_bug.cgi?id=262619
If the type is not recognized, the content will be loaded using the <code>EditorKit</code> registered for plain text, <code>text/plain</code>.
Unfortunately, after the fix for
Consider this example:
---
public class TestEditorPane {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new javax.swing.JEditorPane("text/x-oql", "");
}
});
}
}
---
Compiling and running it on:
$ ./java -version
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+126)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+126, mixed mode)
$ uname -a
Linux lahvacovo 4.2.0-35-generic #40~14.04.1-Ubuntu SMP Fri Mar 18 16:37:35 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ javac TestEditorPane.java
$ java TestEditorPane
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.JEditorPane.createEditorKitForContentType(java.desktop@9-ea/JEditorPane.java:1188)
at javax.swing.JEditorPane.getEditorKitForContentType(java.desktop@9-ea/JEditorPane.java:1086)
at javax.swing.JEditorPane.setContentType(java.desktop@9-ea/JEditorPane.java:979)
at javax.swing.JEditorPane.<init>(java.desktop@9-ea/JEditorPane.java:291)
at TestEditorPane$1.run(TestEditorPane.java:6)
at java.awt.event.InvocationEvent.dispatch(java.desktop@9-ea/InvocationEvent.java:313)
at java.awt.EventQueue.dispatchEventImpl(java.desktop@9-ea/EventQueue.java:759)
at java.awt.EventQueue.access$500(java.desktop@9-ea/EventQueue.java:97)
at java.awt.EventQueue$3.run(java.desktop@9-ea/EventQueue.java:712)
at java.awt.EventQueue$3.run(java.desktop@9-ea/EventQueue.java:706)
at java.security.AccessController.doPrivileged(java.base@9-ea/Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@9-ea/ProtectionDomain.java:77)
at java.awt.EventQueue.dispatchEvent(java.desktop@9-ea/EventQueue.java:729)
at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@9-ea/EventDispatchThread.java:199)
at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@9-ea/EventDispatchThread.java:124)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(java.desktop@9-ea/EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(java.desktop@9-ea/EventDispatchThread.java:109)
at java.awt.EventDispatchThread.pumpEvents(java.desktop@9-ea/EventDispatchThread.java:101)
at java.awt.EventDispatchThread.run(java.desktop@9-ea/EventDispatchThread.java:90)
Originally reported here:
https://netbeans.org/bugzilla/show_bug.cgi?id=262619
- duplicates
-
JDK-8158734 JEditorPane.createEditorKitForContentType throws NPE after 6882559
-
- Resolved
-