1

是否可以在没有桌面环境(例如 Gnome)的情况下使用 java gui 框架(例如 Swing、SWT 或 javaFX)?

4

3 回答 3

2

设置-Djava.awt.headless=trueSystem.setProperty("java.awt.headless","true")允许使用有一些限制的图形。绘制到屏幕外缓冲区效果很好,正如在 Web 服务器上运行的JFreeChart上下文中所讨论的。

于 2009-12-30T15:28:41.720 回答
2

尽管我自己没有遇到过这种情况,但我怀疑这将是HeadlessException发挥作用的情况。

Javadoc forHeadlessException说明如下:

在不支持键盘、显示器或鼠标的环境中调用依赖于键盘、显示器或鼠标的代码时引发。

由处理 GUI 的各种类的HeadlessException构造函数抛出,例如DialogJFrame,所以我怀疑在非 GUI 环境中,HeadlessException尝试使用 GUI 工具包时会抛出 。

于 2009-12-30T12:37:36.607 回答
2

如果您要进行测试,或者需要在服务器上使用一些图像处理类,那么虚拟帧缓冲区将起作用。我假设您正在运行 Linux;我在Xvfb上运气不错。

于 2009-12-30T12:37:55.543 回答