在gui less linux os中运行JFrame

时间:2014-01-23 10:35:11

标签: java linux swing

最近我切换到linux而没有桌面操作系统。

我已经安装了java successl,但是当我运行JFrame的程序时,它会抛出异常,如

java.awt.HeadlessException
java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
java.awt.Window.(Window.java:432)
java.awt.Frame.(Frame.java:403)
javax.swing.JFrame.(JFrame.java:202)

现在我无法理解如何解决这个问题?

我想运行JFrame&即便我也不想删除操作系统。

提前感谢。

3 个答案:

答案 0 :(得分:1)

好吧,如果操作系统没有任何桌面,只有命令行,您希望在哪里绘制窗口?如果操作系统没有桌面,则只能使用命令行。

你可以试试Charva,正如@BenjaminDale建议的那样,但这只会提供有限的功能。

答案 1 :(得分:1)

Swing只能用于os支持桌面(头部/屏幕)。在无头操作系统的情况下,我无法理解JFrame的任何用例。

所以你要么必须从你的程序中删除JFrame(这似乎是合乎逻辑的(没有桌面))或者在带有头部的操作系统上运行它:)

希望这有帮助。

答案 2 :(得分:1)

文章Using Headless Mode in the Java SE Platform描述了对无头模式下运行的应用程序施加的限制。对于无法有效转换的应用程序,提到了一些替代方案here,包括xvfb和vnc。