Повторное получение предыдущего экземпляра Graphics2D объекта BufferedImage - PullRequest
0 голосов
/ 04 марта 2020

Я создаю BufferedImage в методе родительского класса и использую Graphics2D для установки параметров (Paint, RenderingHints и т. Д. c.). Другой класс наследует этот базовый класс и переопределяет метод, но вызывает метод суперкласса для получения экземпляра BufferedImage.

Как сохранить настройки Graphics2D в методе суперкласса?

class Parent {
    BufferedImage draw() {
        BufferedImage image = new BufferedImage(...)
        Graphics2D g2 = (Graphics2D) image.getGraphics()

        g2.setColor(new Color(255, 0, 0))

        return image;
    }   
}

class Child extends Parent {
    @Override
    BufferedImage draw() {
        BufferedImage image = super.draw()
        Graphics2D g2 = (Graphics2D) image.getGraphics()

        System.out.println(g2.getColor()) // 255, 255, 255

        return image;
    }
}
...