我刚安装了Eclipse Juno IDE以供Java使用。
我似乎无法让任何GUI组件显示运行这个简单的测试:
public class Display extends Canvas {
public static final int height = 600;
public static final int width = 800;
private static final JFrame frame = new JFrame();
public static void main(String[] args) {
Display display = new Display();
frame.setLocationRelativeTo(null);
frame.setSize(width,height);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.add(display);
frame.pack();
frame.setVisible(true);
}
}
我得到的错误如下:
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
at java.awt.Window.<init>(Window.java:536)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at javax.swing.JFrame.<init>(JFrame.java:181)
at com.alanjz.sp.Display.<clinit>(Display.java:9)
我安装了以下java版本(我刚刚更换了OpenJDK以查看是否可以修复它):
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
我不知道为什么Eclipse认为我有一个无头的运行时,因为该项目使用默认的JDK(java版本&#34; 1.8.0_05&#34;)
我正在运行64位Ubuntu Linux。
更新:这可能是我的IDE的问题,因为我能够从另一个IDE(BlueJ)运行代码
我的eclipse.ini
文件的内容:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m