无法使用 Ubuntu 运行 Java GUI 程序

我正在学习Java中的GUI,为此我创建了一个演示程序:

import java.awt.*;

public class FrameDemo extends Frame {

    public FrameDemo(){
        super("Frame Demo");
        setSize(200, 200);
        setVisible(true);
    }

    public static void main(String args[]){
        new FrameDemo();    
    }
}

它已成功编译。但是当我尝试执行该程序时,我发现了以下错误:

Exception in thread "main" java.awt.HeadlessException
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
    at java.awt.Window.<init>(Window.java:437)
    at java.awt.Frame.<init>(Frame.java:419)
    at FrameDemo.<init>(FrameDemo.java:4)
    at FrameDemo.main(FrameDemo.java:9)

我正在使用Xubuntu 10.10,并给出:java -version

java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.5) (6b20-1.9.5-0ubuntu1)
OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)

我该怎么办?

还有一件事:这与我试图执行Java博士和HJSplit的jar文件时遇到的错误相同。


答案 1

Ubuntu可以选择安装无头Java - 这意味着没有图形库。情况并非总是如此,但是前几天我在尝试在10.10上运行Java文本编辑器时遇到了这种情况。运行以下命令以安装具有以下库的 JDK:

sudo apt-get install openjdk-6-jdk

编辑:实际上,看看我的配置,你可能需要JRE。如果是这种情况,请运行:

sudo apt-get install openjdk-6-jre

答案 2

当我使用安装时,我停止收到此异常。我正在运行Ubuntu 14.04(Trusty Tahr),问题似乎是由于安装了“无头”Java造成的。我所做的只是:default-jdkapt

sudo apt-get install default-jdk