Verständnisproblem bezüglich Klasse Graphics

Hallo,

wenn ich in Java etwas Zeichen möchte wie z.B. ein Rechteck, dann mache ich das mit der Paint-Methode:

public void paint(Graphics g){
Anweisungen
}

Bei “Graphics” handelt es sich um eine Klasse.
“g” ist nun ein Objekt der Klasse Graphics.

Nun wird immer davon gesprochen, das die paint-Methode überschrieben werden muss??

Was ist damit gemeint, das die paint-Methode überschrieben werden muss.

?

Genau das: Du hast eine Klasse, z.B. “Panel”, und erbst von der Klasse, und überschreibst dabei die paint-Methode

class PaintPanel extends Panel {

    @Override
    public void paint(Graphics g)  // <- Hier wird sie überschrieben
    {
    }
}

Das “@Override” kann und sollte man dazuschreiben, damit klar ist, dass da wirklich eine existierende Methode überschrieben wird.

Aber
in dieser Form macht man das eher in AWT. In Swing macht man es eher so: https://wiki.byte-welt.net/wiki/Malen_in_Swing_Teil_1:_der_grundlegende_Mechanismus

Und mit was wird die Methode überschrieben?

Hier ein Beispiel:

Wenn ich eine Variable habe “int i = 0;” und diese z.B. mit 4 überschreiben würde, dann wäre “i = 4”.
Mit was wird die paint-Methode überschrieben??

MfG

PS: der Unregistered bin ich (Javaman1991).

Mit einer neuen Implementierung - also dem Code den man da hinschreibt. “Überschreiben” ist da ein Begriff, der eigentlich an anderer Stelle geklärt werden könnte. Z.B. https://docs.oracle.com/javase/tutorial/java/IandI/override.html