所以我和两个朋友正在为我们的高中计算机科学课做一个项目。我们使用 Swing 来制作 GUI,但遇到了一些问题。我们遇到了
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
错误,我从未听说过 X11 DISPLAY,但按照错误轨迹,它似乎与无头异常有关,即缺少显示器。我对它的含义有一些模糊的想法,但这没有多大帮助。
我们目前正在 Visual Studio Code 中进行编码,并连接到 Github Codespace。我们有一个名为 Main.java 的文件,其中包含以下代码:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferStrategy;
import javax.swing.*;
public class Main extends Canvas implements KeyListener {
public Main() {
JFrame frame = new JFrame("ma pona");
frame.add(this);
frame.setSize(1000, 750);
frame.getContentPane().setBackground(Color.DARK_GRAY);
frame.setVisible(true);
frame.setResizable(false);
frame.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) throws Exception {
new Main();
}
我们的具体错误是:
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:208)
at java.desktop/java.awt.Window.<init>(Window.java:548)
at java.desktop/java.awt.Frame.<init>(Frame.java:423)
at java.desktop/javax.swing.JFrame.<init>(JFrame.java:224)
at Main.<init>(Main.java:8)
at Main.main(Main.java:22)
如果您能提供任何见解,那就太好了。谢谢您的宝贵时间。
您正在尝试在没有显示器的环境中执行图形 Java 应用程序。 Codespaces 环境不适合此类应用程序。