Привет,
Я пытаюсь получить рисунок JFrame на неэкранном устройстве.Конструктор JFrame имеет
JFrame(GraphicsConfiguration)
, чтобы, казалось бы, разрешить это:
Моя первая попытка состояла в создании моей собственной GraphicsConfiguration, о которой GraphicsDevice сообщил GraphicsDevice.TYPE_IMAGE_BUFFER при вызове getType ().
Однако 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, который не отображается наэкран, но, тем не менее, полностью выложен и функционален.
Идет ли здесь по кроличьей норе, или это можно сделать?