问题描述
我在CentOS下创建screenhsot的代码导致以下回溯: java.awt.HeadlessException: 没有设置X11 disPLAY变量。
这是我创建屏幕截图的代码:
GraphicsDevice screen = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0];
Robot robot = new Robot(screen);
Rectangle screenBounds = screen.getDefaultConfiguration().getBounds();
Rectangle screenRect = new Rectangle(screenBounds);
BufferedImage screenshot = robot.createScreenCapture(screenRect);
我的X服务器的disPLAY是:3,
export disPLAY=:3
将解决问题,但是,我需要一个纯Java解决方案,而无需在外壳上安装export disPLAY=:3
。
有没有办法欺骗sun.awt.X11GraphicsEnvironment并从Java代码设置disPLAY =:3来使屏幕截图创建工作正常?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)