Hallo guten Tag,
um Java zu lernen programmiere ich gerade:
nach.
Es geht um Snake.
Ich habe ein Verständnis Problem:
------------------------------------
Eigentlich dachte ich, dass in der "public static void main(String[] args)" das Programm abläuft bzw. anläuft.
Jetzt ist mir aufgefallen, dass die Methode "public void paint (Graphics gr)" aufgerufen wird.
Ist es so, dass die Klasse Snake vererbt ist von JFrame?
D.h. in der main wird der Konstruktor von Snake aufgerufen, in diesem befindet sich der Befehl: super (title);
Das ist doch der Befehl der Mutterklasse oder ? Also von JFrame?
Wie kommt es dann, dass die dann, anscheinend durch den Befehl "super(title);",
die Methode public void paint (Graphics gr) ausführt?
Also wie kommt es dazu dass public void paint (Graphics gr) ausgeführt wird?
public class Snake extends JFrame {
private Dot dot = new Dot(4,this); // übergabe von Anzahl und von diesem Frame objekt
//1. Methode von Snake bzw. JFrame
public Snake(String title) {
super (title); // Konstruktor wird ein String übergeben
// Konstruktor im Konstruktor
}
//2. Methode
public void paint (Graphics gr){
super.paint(gr); // von der Mutterklasse
gr.drawImage(Toolkit.getDefaultToolkit().getImage("bilder/Desert.png"),0,0,this); // in THIS / diesem Frame objekt erstellen
dot.paint(gr);
}
public static void main(String[] args) {
Snake snake = new Snake("Schnarke 1.0"); // Neues Objekt anlegen, warum mit new? hea???
snake.setSize(500,500);
snake.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // typ des beendens
//Fenstereigenschaften
snake.setUndecorated(false); // hat es einen windows fensterstil?
snake.setLocation(400,100); // positiom
snake.setVisible(true); // kann man es sehen
}
}
Danke sehr
Guten Tag noch !
mfG
NikolZ
um Java zu lernen programmiere ich gerade:
Es geht um Snake.
Ich habe ein Verständnis Problem:
------------------------------------
Eigentlich dachte ich, dass in der "public static void main(String[] args)" das Programm abläuft bzw. anläuft.
Jetzt ist mir aufgefallen, dass die Methode "public void paint (Graphics gr)" aufgerufen wird.
Ist es so, dass die Klasse Snake vererbt ist von JFrame?
D.h. in der main wird der Konstruktor von Snake aufgerufen, in diesem befindet sich der Befehl: super (title);
Das ist doch der Befehl der Mutterklasse oder ? Also von JFrame?
Wie kommt es dann, dass die dann, anscheinend durch den Befehl "super(title);",
die Methode public void paint (Graphics gr) ausführt?
Also wie kommt es dazu dass public void paint (Graphics gr) ausgeführt wird?
public class Snake extends JFrame {
private Dot dot = new Dot(4,this); // übergabe von Anzahl und von diesem Frame objekt
//1. Methode von Snake bzw. JFrame
public Snake(String title) {
super (title); // Konstruktor wird ein String übergeben
// Konstruktor im Konstruktor
}
//2. Methode
public void paint (Graphics gr){
super.paint(gr); // von der Mutterklasse
gr.drawImage(Toolkit.getDefaultToolkit().getImage("bilder/Desert.png"),0,0,this); // in THIS / diesem Frame objekt erstellen
dot.paint(gr);
}
public static void main(String[] args) {
Snake snake = new Snake("Schnarke 1.0"); // Neues Objekt anlegen, warum mit new? hea???
snake.setSize(500,500);
snake.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // typ des beendens
//Fenstereigenschaften
snake.setUndecorated(false); // hat es einen windows fensterstil?
snake.setLocation(400,100); // positiom
snake.setVisible(true); // kann man es sehen
}
}
Danke sehr
Guten Tag noch !
mfG
NikolZ