使用Screen.getScreens()报错问题

是她丫

关注

阅读 53

2022-01-30

  1. 在初次使用Screen获取屏幕信息的时候,会遇到类似如下错误:
    This operation is permitted on the event thread only
    在这里插入图片描述
    原因是Screen中的api依赖于javafx的运行环境,所以需要初始化javafx Application的环境,在JFXPanel中会将环境初始化好,如果是报错Internal graphics not initialized yet原因也是一样,在初始化Application的时候会把Screen.screens中的信息初始化好,源码位置如下
    在这里插入图片描述

可以使用如下方式进行判断

Application application = Application.GetApplication();
if(application == null){
    // 非jfx运行环境需要执行如下操作
    new JFXPanel();
}

精彩评论(0)

0 0 举报