Я пытаюсь создать изображение (экранный снимок) невидимого AWT-компонента. Я не могу использовать функциональность захвата экрана Robot
классов, потому что компонент не отображается на экране. Попытка использовать следующий код:
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
component.paintAll(g);
Работает иногда, но не работает, если компонент содержит такие вещи, как текстовое поле или кнопку, или какой-то компонент OpenGL/3D (эти вещи остались без изображения!). Как я могу сделать скриншот всего этого?