JFrame к изображению без отображения JFrame
Я пытаюсь визуализировать JFrame для изображения, даже не отображая сам JFrame (похоже на то, чтоэтот вопрос задает). Я пытался использовать этот кусок кода:
private static BufferedImage getScreenShot(Component component)
{
BufferedImage image = new BufferedImage(component.getWidth(), component.getHeight(), BufferedImage.TYPE_INT_RGB);
// call the Component's paint method, using
// the Graphics object of the image.
component.paint(image.getGraphics());
return image;
}
Тем не менее, это работает только тогда, когдаJFrame
setVisible(true)
установлено. Это приведет к тому, что изображение будет отображаться на экране, а это не то, что мне нужно. Я также попытался создать что-то вроде этого:
public class MyFrame extends JFrame
{
private BufferedImage bi;
public MyFrame(String name, BufferedImage bi)
{
this.bi = bi;
super(name);
}
@Override
public void paint(Graphics g)
{
g.drawImage(this.bufferedImage, 0, 0, null);
}
}
Это однако отображает черные изображения (как код выше). Я почти уверен, что то, что мне нужно, возможно, проблема в том, что я могудействительно не могу найти как. Мой опыт работы с пользовательскими компонентами Swing довольно ограничен, поэтому любая информация будет оценена.
Благодарю.