repaint() ruft paint() nicht auf

Warrior7777

Bekanntes Mitglied
Hallo miteinander

dies ist mein erster Beitrag, macht mich also bitte darauf aufmerksam, wenn ich unhöflich etc. bin.

Nun zu meiner Frage: Wieso funktioniert paint() nicht?

Java:
import java.lang.*;
import java.awt.*;

class FirstGame extends Frame implements Runnable{
	
	Frame window=new Frame("FirstGame");
	Thread thread;
	
	public void paint(Graphics g){
		g.setColor(new Color(250, 250, 250));
		g.fillOval(300, 300, 100, 100);
		System.out.println("paint() aufgerufen.");
	}	
	//Image offScreen=new Image();
	FirstGame(){
		window.addWindowListener(new ClosingAdapter());
		window.setBounds(300, 300, 400, 300);
		window.setBackground(new Color(0, 0, 0));
		window.setVisible(true);
		thread=new Thread(this);
		thread.start();
	}
	
	public void run(){
		while(true){
			window.repaint();
			System.out.println("run() gestartet.");
			try{
				Thread.sleep(1000);
			}catch(InterruptedException e){}
		}
	}
	


	

	
	public static void main(String[] args){
		
		new FirstGame();
	}
}

Danke schon im Voraus!
 

AmunRa

Gesperrter Benutzer
Wenn du von Frame erbst musst du nicht ein neues Frame anlegen snndern kannst das alles auf dich selbst aufrufen.

lösche die Variable window und ersetzte ueberall dort wo du eine Methode von window aufgerufen hast dies mit this.

also z.B.

Java:
//von
window.addWindowListener(new ClosingAdapter());
//zu
this.addWindowListener(new ClosingAdapter());

paint funktioniert deswegen nicht weil du rapaint von Frame aufrufst und nicht von dir selbst

edit:

weiters warum verwendest du AWT und nicht swing (also JFrame statt Frame)?
 
Zuletzt bearbeitet:
G

Gast2

Gast
Code:
class FirstGame extends Frame
Code:
Frame window=new Frame("FirstGame");
Ein Frame reicht aus ;)
 

Warrior7777

Bekanntes Mitglied
Gäbe es keine Möglichkeit ohne extends Frame (also mit der Variablen)?

Übrigens: ich brauch das AWT, weil in einem Buch ein Beispiel mit AWT ist ("Handbuch der Java-Programmierung"). Dort ist übrigens die Variante ohne Variable (also mit extends) angegeben. Ich wollte nur wissen, weshalb "meine" Variante nicht funktioniert. Und danke!:)
 

AmunRa

Gesperrter Benutzer
wenn du eine Methode ueberschreiben möchtest ( hier also die paint-Methode ) dann musst du immer etwas mit extends machen (bei einem Interface mit implements)


deine Lösung funktioniert nicht, da dein window deine ueberschriebene Methode paint nicht kennt (wie sollte sie auch) und diese daher nicht ausgefuehrt wird.
 
G

Gast2

Gast
wenn du eine Methode ueberschreiben möchtest ( hier also die paint-Methode ) dann musst du immer etwas mit extends machen (bei einem Interface mit implements)
Das stimmt nicht so ganz.
Folgendes geht genauso gut:
Java:
Frame frame = new Frame("FirstGame") {
  @Override
  public void paint(Graphics g) {
    // ...
  }
}
Das erstellte Frame Objekt kann dann ganz normal benutzt werden.
 

Sonecc

Gesperrter Benutzer
Das stimmt nicht so ganz.
Folgendes geht genauso gut:
Java:
Frame frame = new Frame("FirstGame") {
  @Override
  public void paint(Graphics g) {
    // ...
  }
}
Das erstellte Frame Objekt kann dann ganz normal benutzt werden.

Und was ist das? Kaffeklatsch?
Das ist prinzipiell nichts anderes als eine Klasse die Frame extended.
 

Warrior7777

Bekanntes Mitglied
Ich weiß, was anonyme Klassen sind. Trotzdem danke!
Ok also wenn ich das richtig verstanden hab: die extends Klausel bewirkt, dass sich meine Klasse wie ein Frame verhält. So gesehen überschreibe ich also die paint()-Methode der Klasse FirstGame, nicht aber diejenige von Frame. Meine Variable ist aber vom "Typ" Frame, deshalb wird deren paint() aufgerufen.
Anstatt der anonymen Klasse könnte ich auch eine separate anlegen und window mit einer Instanz davon typisieren.

Wie Ihr seht, hab ich schon einiges gelesen, aber praktisch null Praxiserfahrung.^^

Nochmals danke!
 

AmunRa

Gesperrter Benutzer
Im großen und ganzen passt das schon was du jetzt geschreiben hast.

Natuerlich sind noch ein paar Fehler darin, aber das wichtigste ist das du es fuer dich verstanden hast.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Wenn ich repaint(); mache, flackert es so stark, das man fast nichts erkennen kann. Java Basics - Anfänger-Themen 11
S Repaint() Java Basics - Anfänger-Themen 1
J Erste Schritte Mit repaint() ist Label nicht sichtbar Java Basics - Anfänger-Themen 15
S Repaint() in der Schleife funktioniert nicht immer Java Basics - Anfänger-Themen 5
H Graphics / repaint Java Basics - Anfänger-Themen 8
D Verhindern das repaint beim vergrößern aufgerufen wird Java Basics - Anfänger-Themen 9
M Liste mit repaint aktualisieren Java Basics - Anfänger-Themen 1
E Probleme mit repaint() Java Basics - Anfänger-Themen 15
K Erkennt repaint nicht Java Basics - Anfänger-Themen 1
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
1 repaint() Funktion erzeugt Flackern Java Basics - Anfänger-Themen 33
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
A externer repaint Aufruf Java Basics - Anfänger-Themen 9
G Problem mit repaint() Java Basics - Anfänger-Themen 2
J repaint() geht gar nicht; GUI aktualisieren Java Basics - Anfänger-Themen 10
J paint() vs repaint() Java Basics - Anfänger-Themen 3
C repaint wird nicht während Druck auf Maustaste ausgeführt. Java Basics - Anfänger-Themen 4
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3
P [JTable] Problem mit repaint() Java Basics - Anfänger-Themen 2
P Interpreter-Fehler Im for loop funkzioniert repaint nicht :( Java Basics - Anfänger-Themen 4
M repaint() in run-Methode funktioniert nicht Java Basics - Anfänger-Themen 9
O Probleme mit der repaint-Funktion Java Basics - Anfänger-Themen 6
J repaint() funktioniert nicht wie gewünscht Java Basics - Anfänger-Themen 30
I Hangman CardLayout/repaint? Java Basics - Anfänger-Themen 2
H Variablen Probleme mit repaint() Java Basics - Anfänger-Themen 2
Y im applet malen ohne repaint paint ? Java Basics - Anfänger-Themen 6
J repaint(); launisch ? Java Basics - Anfänger-Themen 3
E Altes Bild bei repaint() löschen? Java Basics - Anfänger-Themen 10
Z Wie repaint() bei Uhr realisieren? Java Basics - Anfänger-Themen 12
N JScrollPane repaint(); geht nicht Java Basics - Anfänger-Themen 4
I repaint bei jpanel Java Basics - Anfänger-Themen 10
T repaint wir nicht mehr geöffnet! Java Basics - Anfänger-Themen 38
T Canvas aktualisierung mit repaint Java Basics - Anfänger-Themen 5
C GUI aktualisieren: repaint, validate, Fenstergröße ändern bringt nichts Java Basics - Anfänger-Themen 13
Antoras Swing repaint und Nullpointer Java Basics - Anfänger-Themen 6
O repaint() wird nicht ausgeführt Java Basics - Anfänger-Themen 3
S problem mit repaint() in Thread Java Basics - Anfänger-Themen 6
Antoras swing und repaint-Ersatz Java Basics - Anfänger-Themen 8
G Automatischer repaint bei Swing so wie bei AWT? Java Basics - Anfänger-Themen 7
M Problem mit repaint Java Basics - Anfänger-Themen 2
R Probleme beim Repaint Java Basics - Anfänger-Themen 3
T repaint einer komponente Java Basics - Anfänger-Themen 2
E repaint() aufrufen Java Basics - Anfänger-Themen 12
F paintComponent mit repaint() aufrufen Java Basics - Anfänger-Themen 27
kulturfenster Probleme mit repaint() Java Basics - Anfänger-Themen 2
S SelectionListener + repaint().Verständnisproblem ;) Java Basics - Anfänger-Themen 7
K Repaint() in Methode Java Basics - Anfänger-Themen 13
G Frage zu repaint() Java Basics - Anfänger-Themen 5
D JPanel repaint() wird nicht gemacht! Java Basics - Anfänger-Themen 7
B Problem mit repaint() Java Basics - Anfänger-Themen 8
V Reihenfolge von Befehlen - hier repaint() zu spät Java Basics - Anfänger-Themen 13
G repaint in paint aufrufen? Java Basics - Anfänger-Themen 9
F repaint() - Methode verzögern lassen? Java Basics - Anfänger-Themen 3
I Erst repaint() dann zeichnen? Java Basics - Anfänger-Themen 6
D von paint() und repaint() im Applet Java Basics - Anfänger-Themen 4
J probleme mit repaint Java Basics - Anfänger-Themen 2
R Methoden Methode ruft Methode auf, ruft Methode auf (mit Objekten) Java Basics - Anfänger-Themen 4
T Methoden [GELÖST ]Warum ruft sich die Methode von alleine auf? Java Basics - Anfänger-Themen 3
T Methoden Welches Objekt ruft Methode auf? Java Basics - Anfänger-Themen 6
O Starte Timer, während anderer Timer noch läuft. Ruft dies Schwierigkeiten hervor? Java Basics - Anfänger-Themen 0
C Wer ruft die Methode auf? Java Basics - Anfänger-Themen 3
J Wer oder was ruft die "paintComponent()" Methode auf? Java Basics - Anfänger-Themen 19
R run ->eclipse ruft falsche Programme auf Java Basics - Anfänger-Themen 5
T methode ruft sich selbst auf Java Basics - Anfänger-Themen 28
0x7F800000 Servlet ruft Servlet auf: Wie ServletRequest erstellen? Java Basics - Anfänger-Themen 6
G Clientanwendung ruft JSP auf Serverseite auf. Java Basics - Anfänger-Themen 3
R Wie ruft Eclipse java auf? Java Basics - Anfänger-Themen 4
U Klasse ruft sich selber auf? Java Basics - Anfänger-Themen 2
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
S awt: paint Methode zeigt nichts an Java Basics - Anfänger-Themen 9
S Paint Anwendung: Freihandlinien zeichnen Java Basics - Anfänger-Themen 4
S Erste Schritte drawOval Problem in Paint Anwendung Java Basics - Anfänger-Themen 1
R Begrenzer Anzahl von paint() ? Java Basics - Anfänger-Themen 3
thet1983 start & paint Methode? Java Basics - Anfänger-Themen 0
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
M Probleme mit paint() aus java.awt.Graphics Java Basics - Anfänger-Themen 2
D Wert einer Variable in paint-Methode verwenden Java Basics - Anfänger-Themen 2
OnDemand Berechnung in die start und paint Methode eines Applets Java Basics - Anfänger-Themen 28
T Vererbung Wann wird die Methode paint aufgerufen? Java Basics - Anfänger-Themen 4
L Paint() wird scheinbar nicht richtig ausgeführt Java Basics - Anfänger-Themen 8
N aus Container components paint Java Basics - Anfänger-Themen 2
A Problem mit paint() Java Basics - Anfänger-Themen 2
A Aufruf der paint() Methode Java Basics - Anfänger-Themen 3
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
J Problem mit paint(Graphics g) Java Basics - Anfänger-Themen 4
L Erste Schritte Swing oder SWT Paint mit Grafikkarte? Java Basics - Anfänger-Themen 7
T paint() wird nicht aufgerufen Java Basics - Anfänger-Themen 2
K paint() mit einfügen Java Basics - Anfänger-Themen 14
K doppeltes paint beim Drucken Java Basics - Anfänger-Themen 8
J paint-methode blockiert settings von JComponents Java Basics - Anfänger-Themen 5
F Eine Frage über paint() Funktion Java Basics - Anfänger-Themen 2
S [Applet] Objekte von init bei paint benutzen Java Basics - Anfänger-Themen 9
R Methoden Zeichnen auf Button-Druck durch Paint-Methode Java Basics - Anfänger-Themen 2
J Zweimal im gleichen Paint-Fenster malen Java Basics - Anfänger-Themen 8
A paint() methode von externer Klasse aufrufen Java Basics - Anfänger-Themen 3
J Paint Methode von JPanel aufrufen Java Basics - Anfänger-Themen 15
V paint funktioniert nicht Java Basics - Anfänger-Themen 14
Q Zeichnen außerhalb der paint-methode Java Basics - Anfänger-Themen 7
O Paint Programm mit Fehler Java Basics - Anfänger-Themen 2
A Methoden Variablen in paint methode Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben