Frage von Vonoza, 16

Was bedeutet die Aussage "non-static method repaint() cannot be referenced from a static context" im JavaEditor ?

Hallo, ich probiere jetzt schon seit einer halben Stunde ein Fenster zu reloaden um die Werte eines Sliders angezeigt zu bekommen aber ich bekomme es nicht hin das Fenster zu refreshen. Habt ihr eine Idee was ich machen kann?

Expertenantwort
von regex9, Community-Experte für Programmierung, 6

Hänge einen ChangeListener an den Slider, um auf Veränderungen reagieren zu können.

Antwort
von PerfectMuffin, 9

Die Methode repaint() wird für ein Objekt aufgerufen.

z.B. fensterA.repaint() (Vorausgesetzt fensterA ist ein Objekt vom Typ Component).

Machst sonst keinen Sinn, stell' dir vor du hats eine Klasse Auto, dann kannst du new Auto().fahren() machen, aber einfach Auto.fahren() ergibt keinen Sinn, das abstrakte Konzept eines Autos kann nicht fahren.

Kommentar von Vonoza ,

und wie bekomme ich es hin das Fenster zu reloaden nach dem ein event eingetreten ist?

Kommentar von PerfectMuffin ,

Nachdem ein Event eingetreten ist = in der Funktion vom Eventlistener.

Ich kenne deine Klassenstruktur, aber dass du vom Listener aus keinen Zugriff auf das Hauptfenster hast ist unwahrscheinlich.

Kommentar von Vonoza ,

ja aber ich bekomme dies nachricht wenn ich in die methode in die Funktion schreibe

Kommentar von PerfectMuffin ,

Eventlistener sind niemals statisch.

Antwort
von hdhdhddedede, 1

Repaint ist nicht statisch und du versuchte damit eine statische Methode aufzurufen

Kommentar von PerfectMuffin ,

Falsch herum.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten