2

私の学校のプロジェクトはすべて Linux サーバー上で行われます。これはすべてコマンド ラインで行われ、GUI はありません。私の Java プロジェクトの 1 つでは、Java GUI を作成し、GL サーバー上でプロジェクトをビルドして実行できるようにする必要があります。

GLサーバーはすべてコマンドラインなので戸惑うのですが、教授はできると言っています。

学校の GL サーバーに接続するには、Putty を使用します。それが重要かどうかはわかりません。また、Java GUI には swing を使用しています。私は ant を使用してコンパイルと実行を行っており、私の教授もそれを採点するときに使用します。

私は成功してプログラムを構築しましたが、実行すると次のようになります。

Buildfile: build.xml

run:
     [java] Exception in thread "main" java.awt.HeadlessException:
     [java] No X11 DISPLAY variable was set, but this program performed an operation which requires it.
     [java]     at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
     [java]     at java.awt.Window.<init>(Window.java:406)
     [java]     at java.awt.Frame.<init>(Frame.java:402)
     [java]     at javax.swing.JFrame.<init>(JFrame.java:207)
     [java]     at gui.PushCounter.main(PushCounter.java:18)
     [java] Java Result: 1

BUILD SUCCESSFUL
Total time: 0 seconds

コマンドラインで作業しているときにJavaでGUIを作成する別のクラスまたは方法はありますか? Putty 以外に、Java GUI の使用に適した別の端末でログインできますか? コードまたは Linux サーバーに追加しなければならないものはありますか?

4

1 に答える 1

0

Swing はおそらく、GUI を作成するための良い選択です。変更しなければならない理由がわかりません。

X フォワーディングを検討することをお勧めします。X 転送を使用すると、通常どおりサーバーに SSH で接続できます。サーバーはすべてのコードを実行し、GUI の作成を処理します。次に、ウィンドウ表示情報をマシンに送り返します。

PuTTy で X 転送を構成するためのクイックガイドを見つけました。それはあなたのニーズにうまく応えるはずです。

注意事項

X 転送が機能するには、SSH 構成で X 転送が有効になっている必要があります。これについては教授に相談してください。sshd 構成ファイルを変更するだけです。あなたとサーバーの両方がキャンパス内にある場合、X 転送の速度は問題になりませんが、これは他のネットワーク設定では欠点になる可能性があることに注意してください。

于 2012-04-28T19:32:52.117 に答える