У меня есть быстрый вопрос. Как получить изображение, созданное компонентом JComponent.paint или paintComponent?Как получить изображение paint/paintComponent?
У меня есть JComponent, который я использую как «рабочее пространство», и где я переписал метод paintComponent своим собственным. Дело в том, что в моей рабочей области JComponent также есть дети, у которых есть свои собственные методы paintComponent.
Итак, когда Swing отображает мой компонент рабочей области, он отображает рабочую область, а затем ее дочерние элементы.
Однако я хочу получить изображение, которое генерирует компонент моего рабочего пространства (который включает в себя графику рабочего пространства и детскую графику).
Как это сделать?
Я попытался сам вызвать paintComponent/paint-method, используя собственную графику, но я просто вернул черное изображение. Вот что я пробовал;
public void paintComponent(Graphics g) {
if (bufferedImage != null) {
g.drawImage(bufferedImage, 0, 0, this);
}
else {
g.setColor(Color.WHITE);
g.fillRect(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight());
}
}
public BufferedImage getImage() {
BufferedImage hello = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics g = hello.getGraphics();
paintComponent(g);
return hello;
}
Любые мысли или комментарии приветствуются! :)
Метод 'getImage' вызывается пользователем, то есть приложение имеет много времени. – user20298 2008-09-22 09:12:59