问候,
我正在尝试在非屏幕设备中获取 JFrame 绘图。JFrame 构造函数有一个
JFrame(GraphicsConfiguration)
似乎允许这样做:
我的第一次尝试是创建自己的 GraphicsConfiguration,当调用 getType() 时,他的 GraphicsDevice 报告了 GraphicsDevice.TYPE_IMAGE_BUFFER。
但是 JFrame.init 专门查找类型并在类型不是 TYPE_RASTER_SCREEN 时抛出异常:
if (graphicsConfig.getDevice().getType() !=
GraphicsDevice.TYPE_RASTER_SCREEN) {
throw new IllegalArgumentException("not a screen device");
}
接下来我尝试让我返回的 GraphicsDevice 报告 GraphicsDevice.TYPE_RASTER_SCREEN。这允许正确初始化 JFrame,但是当它显示它时,我得到了
Exception in thread "main" java.lang.ClassCastException: TestGraphicsConfiguration cannot be cast to sun.awt.X11GraphicsConfig
所以我已经没有想法了,关于如何绘制一个不会出现在屏幕上的 JFrame,但它的布局和功能从来都不是那么完整。
我在这里陷入了一个兔子洞,或者这可以做到吗?