的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