プロが教える店舗&オフィスのセキュリティ対策術

javaのGUIツールキット

* AWT(Abstract Window Toolkit)
* Swing

上記の2種を用いる課題が出ているのですが、java.awtとjavax.swingの2つが必要とのことなので、ubuntu Linux上のSynapticパッケージマネージャにて検索をかけ、libcharva1-javaというパッケージをインストールしました。

その後

import java.awt.*;

class TestFrame {
public static void main(String argv[]) {
Frame f = new Frame("Test");
f.setSize(300,200);
f.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(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at javax.swing.JFrame.<init>(Unknown Source)
at TestFrame.main(rensyuu1.java:6)

とエラーが示されてしまいます。
これはどのように解決すればよいのでしょうか。

環境は以下のとおりです。
使用OS:WindowsVista
vmwareにてubuntu-Linux8.1をエミュレート

JDK6もインストール済みなのですがどうにもうまくいきません。
どうか解答よろしくお願い致します。

A 回答 (1件)

VistaにWindows用のJDKをインストールするのはだめなのだろうか、という疑問はありますが...



> No X11 DISPLAY variable was set, but this program performed an operation which requires it
に書いてある通りでしょう。

X11というのはLinux等で使われているグラフィカル環境 X Window Systemのことです。
X11では、複数の画面に対応しているため、どの画面に表示するかを指定する必要があります。これはXサーバーが動作しているマシン自身に表示させるときでも例外ではありません。
そのために環境変数DISPLAYを使用します。
DISPLAY=[表示するマシンのIPアドレスまたはホスト名]:[スクリーン番号] ; export DISPLAY
として設定します。おそらく、現状では具体的に
DISPLAY=localhost:0.0 ; export DISPLAY
で動作すると思います。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!