- 在初次使用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();
}