带有MAC OS的java.awt.Robot类中的无头环境错误

Shr*_*ave 9 java macos headless awtrobot javafx-2

我正在尝试使用Robot类在我的JavaFX应用程序中捕获屏幕截图,

这是我在我的应用程序中使用的代码:

Rectangle screenBounds = new Rectangle(Screen.getPrimary().getBounds().getWidth(),
           Screen.getPrimary().getBounds().getHeight());

Robot robot = new Robot();

BufferedImage img = robot.createScreenCapture(new java.awt.Rectangle(
     (int) screenBounds.getX(), (int) screenBounds.getY(), (int) 
             screenBounds.getWidth(), (int) screenBounds.getHeight()));
Run Code Online (Sandbox Code Playgroud)

它在Windows操作系统中运行良好,但headless environmentMAC OS中显示错误Robot robot = new Robot();

Shr*_*ave 18

这是在搜索了许多资源后回答我自己的问题.

我使用以下代码来禁用无头环境,问题解决了.

static {

        System.setProperty("java.awt.headless", "false");
}
Run Code Online (Sandbox Code Playgroud)

谢谢.