Como chamo o método Graphics dentro do KeyListener?

Antecipadamente, gostaria de dizer que houve muitas postagens semelhantes a essa, no entanto, nenhuma delas se aplica a mim ou nenhuma delas realmente tem alguma resposta e está desatualizada, o que significa que pode haver novos recursos em java que possam me ajude a resolver meu problema.

Enfim, eu queria fazer um jogo onde houvesse raquetes de tênis. Claro, eles teriam que girar. Para rodar, devo chamar meu método Graphics2D dentro do meu KeyListener. Como eu faria isso sem adicionar uma nova variável Graphics2D dentro do meu método de ouvinte de chave?

Aqui estão todos os métodos que eu tenho que envolvem atingir esse objetivo:

        public void draw(Graphics2D g2d) {
            g2d.drawImage(getPaddleImg(), x, y, null);
        }

        public static Image getPaddleImg() {
            ImageIcon ic = new ImageIcon("C:/Users/Elliot/Desktop/Eclipse Game Tennis/paddle.png");
            return ic.getImage();
        }

        public void keyPressed(KeyEvent e) {
            int key = e.getKeyCode();

            if(key==KeyEvent.VK_W){
                g2d.rotate(Math.toRadians(5));
            } else if(key==KeyEvent.VK_W) {
                g2d.rotate(Math.toRadians(-5));
            }

        public void keyReleased(KeyEvent e) {
            int key = e.getKeyCode();

            if(key==KeyEvent.VK_W){
                g2d.rotate(Math.toRadians(0));
            } else if(key==KeyEvent.VK_W) {
                g2d.rotate(Math.toRadians(0));
            }
        }

Eu sei, esse código me causaria um erro por causa dag2d dentro doKeyPressed() eKeyReleased() método. Como eu chamaria og2d dentro desses dois métodos? Ou como eu faria a mesma coisa dentro dodraw() método?

questionAnswers(2)

yourAnswerToTheQuestion