Aufruf einer Java-Methode zum Zeichnen von Grafiken

Ich versuche, einige einfache Grafiken zu einem Rahmen zu zeichnen. Ich möchte auch in der Lage sein, das, was ich zeichne, von meiner Hauptmethode aus anzupassen. Beispiel: Festlegen einer zu druckenden Zeichenfolgenvariablen oder der Koordinaten eines Rechtecks.

Das Problem, das ich zu haben scheine, ist daspaintComponent Methode wird aufgerufen, bevor ich Klassenvariablen setzen kann. Wie würde ich diesen Code ändern, um das einrichten zu können?JPanel/JFrame Variablen, bevor es auf dem Bildschirm zeichnet?

Vielen Dank

import java.awt.*;
import javax.swing.*;

public class Test {

    public static void main(String[] args) {
        FrameTest test_frame = new FrameTest();
        test_frame.test_string = "I WANT TO DRAW THIS STRING";
    }
}

class FrameTest extends JFrame{
    private static final long serialVersionUID = 1L;
    String test_string;

    public FrameTest(){
        this.test_string = "TEMP STRING FROM FRAME";
        JFrame gui = new JFrame();
        gui.setTitle("Test Title");
        gui.setSize(400,400);
        gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Painting painting = new Painting();

        Container pane = gui.getContentPane();
        pane.setLayout(new GridLayout(1,1));

        pane.add(painting);
        gui.setVisible(true);

    }
}

class Painting extends JPanel{
    private static final long serialVersionUID = 1L;
    String test_string;

    public Painting(){
        setBackground(Color.WHITE);
        this.test_string = "TEMP STRING FROM PANEL";
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        g.setColor(Color.RED);
        g.drawString(test_string, 20, 20);
    }
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage