的AWT窗口,当我想了解AWT和借来的一本书,showes下面的代码:异常试图所以最近在Java中创建
/*Listing2301.java*/
import java.awt.*;
class Listing2301{
public static void main(String[] args){
Frame wnd = new Frame("Einfaches Fenster");
wnd.setSize(400,300);
wnd.setVisible(true);
}
}
此代码编译。据该书此代码应产生无功能任何一个空的窗口,但是当我试着执行它时,它抛出一个异常:
Exception in thread "main" java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it. at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207) at java.awt.Window.(Window.java:535) at java.awt.Frame.(Frame.java:420) at Listing2301.main(Listing2301.java:7)
我从Ubuntu的bash的vi编辑器的工作,我有安装在我的Windows 10 PC上。
我的程序设计教授建议打字export DISPLAY=:0.0
进入bash。 编译代码,并再次执行它后,错误信息更改:
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65) at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:110) at java.security.AccessController.doPrivileged(Native Method) at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:74) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:195) at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81) at java.awt.Window.initGC(Window.java:467) at java.awt.Window.init(Window.java:487) at java.awt.Window.(Window.java:536) at java.awt.Frame.(Frame.java:420) at Listing2301.main(Listing2301.java:7)
如何获取空AWT窗口?代码是否错误?或者我需要配置不同的bash?
说真的,你为什么要学习AWT? 20年来,它已被认为已经过时了。 – RealSkeptic
我听说它让引入摆动更容易。我发现的所有关于挥杆的书都基于AWT的知识,我没有。 – Rismosch
我应该忽略AWT并直接跳进秋千吗? – Rismosch