如何在GL Linux Server命令行中使用Java GUI?

时间:2012-04-28 18:48:03

标签: java linux user-interface command-line

我的学校项目都是在Linux服务器上完成的,所有这些都是通过命令行完成的,没有GUI。我的一个java项目要求我创建一个java GUI,并能够在GL服务器上构建和运行项目。

我很困惑,因为GL服务器都是命令行,但我的教授说它可以完成。

要连接到学校的GL服务器,我使用Putty。我不知道是否重要。我正在使用swing for Java GUI。我使用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服务器中添加一些额外的东西吗?

1 个答案:

答案 0 :(得分:0)

Swing可能是创建GUI的不错选择;我认为你没有理由改变它。

我建议看看X转发。使用X转发,您可以正常SSH到服务器。服务器运行您的所有代码并处理GUI的创建。然后它将窗口显示信息发送回您的机器。

我找到了一个快速的guide to configuring X forwarding in PuTTy。它应该很好地满足您的需求。

注意事项

要使X转发工作,您的SSH配置必须启用它。您可以肯定地与您的教授讨论这个问题 - 这是对sshd配置文件的一个简单更改。如果您和服务器都在校园内,X转发的速度不应该是一个问题,但请注意,这可能是其他网络设置的缺点。