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

tbg*_*rge 8 java swing

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

java.awt.headlessexception
Run Code Online (Sandbox Code Playgroud)

我不知道是什么改变了我的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);
  }
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*szS 12

HeadlessException

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

设置无头模式使用

java -Djava.awt.headless=true

在Java SE平台中使用无头模式

  • 您也可以使用-Djava.awt.headless = false来避免HeadlessException :)谢谢! (6认同)

小智 7

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

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

  • Java的1.8.0-的OpenJDK,无头

您还需要安装此软件包:

  • Java的1.8.0-的OpenJDK