Java Swing 空指针异常

3
我尝试运行这个非常基础的Swing程序:http://download.oracle.com/javase/tutorial/uiswing/examples/start/HelloWorldSwingProject/src/start/HelloWorldSwing.java,但是出现了一个错误:
Exception in thread "main" java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at java.awt.Toolkit$2.run(Toolkit.java:849)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:841)
    at java.awt.Toolkit.getEventQueue(Toolkit.java:1698)
    at java.awt.EventQueue.invokeLater(EventQueue.java:1002)
    at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1292)
    at ac.biu.nlp.nlp.engineml.rteflow.macro.gui.CustomProofEngine.main(CustomProofEngine.java:261)
Caused by: java.lang.NullPointerException
    at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1191)
    at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:164)
    at sun.awt.FontConfiguration.<init>(FontConfiguration.java:89)
    at sun.awt.motif.MFontConfiguration.<init>(MFontConfiguration.java:50)
    at sun.awt.X11GraphicsEnvironment.createFontConfiguration(X11GraphicsEnvironment.java:942)
    at sun.java2d.SunGraphicsEnvironment$2.run(SunGraphicsEnvironment.java:247)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.java2d.SunGraphicsEnvironment.<init>(SunGraphicsEnvironment.java:163)
    at sun.awt.X11GraphicsEnvironment.<init>(X11GraphicsEnvironment.java:253)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
    at java.lang.Class.newInstance0(Class.java:372)
    at java.lang.Class.newInstance(Class.java:325)
    at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
    at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:112)
    ... 9 more

无论我从Eclipse运行还是从命令行运行,都会出现错误。

我在Ubuntu 10.04上使用的是Java 6的标准安装。

您有任何解决此问题的想法吗?


在Windows上的Eclipse Helios中运行良好。 - Bala R
1个回答

3

根据堆栈跟踪,似乎FontConfiguration未能执行,因为出现了NullPointerException。

我认为这是Java安装的问题。尝试卸载并重新安装Java。我确定代码本身没有任何问题。尽管堆栈跟踪的根源显示异常始于主方法的第261行...所以如果您正在运行您链接的示例代码,那么可能发生了非常奇怪的事情,因为只有几十行代码!


尝试卸载并重新安装Java。我想尝试这样做,但不知道从哪里开始 - 我的Synaptic软件包管理器显示了许多与Java相关的软件包 - 我应该卸载default-jdk? default-jre? java-common?还是其他一些软件包? - Erel Segal-Halevi
1
从JRE开始,然后是JDK。 - Codemwnci
在我完全删除所有以jdk、jre和gcj开头的软件包,然后重新安装default-jdk、default-jre和eclipse之后,它终于起作用了。 - Erel Segal-Halevi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接