我的所有java应用程序现在抛出一个java.awt.headlessexception

时间:2014-01-24 22:18:39

标签: java swing

所以几天前我有几个使用 Swing 库的 Java 应用程序,特别是 JFrame 。他们都工作得非常好,现在他们都抛出了这个例外:

java.awt.headlessexception

我不知道是什么改变了我的 Java 版本偶然更新了。

感谢您提供的任何帮助。

编辑:

这是一小段代码,它给了我例外。

import javax.swing.JFrame;
public class test {

  public static JFrame frame;

  public static void main(String[] args) {
    frame = new JFrame("test");
    frame.setVisible(true);
    frame.setLocationRelativeTo(null);
  }
}

3 个答案:

答案 0 :(得分:10)

  

<强> HeadlessException

     

在不支持键盘,显示器或鼠标的环境中调用依赖于键盘,显示器或鼠标的代码时抛出。

设置无头模式使用

  

java -Djava.awt.headless=true

Using Headless Mode in the Java SE Platform

答案 1 :(得分:6)

多个Linux发行版具有单独的JRE基础包与JRE GUI。

例如,在RHEL7 / CentOS 7上,如果您只安装了此软件包:

  • java的1.8.0-的openjdk-无头

您还需要安装此软件包:

  • java的1.8.0-的openjdk

答案 2 :(得分:0)

您可以尝试更改当前使用的JRE。转到&#34;运行配置&#34;您的项目并将JRE从您的项目默认更改为Java平台&#34;标准&#34;版本