最近我切换到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&即便我也不想删除操作系统。
提前感谢。
答案 0 :(得分:1)
好吧,如果操作系统没有任何桌面,只有命令行,您希望在哪里绘制窗口?如果操作系统没有桌面,则只能使用命令行。
你可以试试Charva,正如@BenjaminDale建议的那样,但这只会提供有限的功能。
答案 1 :(得分:1)
Swing只能用于os支持桌面(头部/屏幕)。在无头操作系统的情况下,我无法理解JFrame的任何用例。
所以你要么必须从你的程序中删除JFrame(这似乎是合乎逻辑的(没有桌面))或者在带有头部的操作系统上运行它:)
希望这有帮助。
答案 2 :(得分:1)
文章Using Headless Mode in the Java SE Platform描述了对无头模式下运行的应用程序施加的限制。对于无法有效转换的应用程序,提到了一些替代方案here,包括xvfb和vnc。