Hi Leute,
mein Programm hat bisher auf Mausklick an die geklickte Stelle einen Kreis mit ID (Waypoint) direkt in den JFrame gezeichnet.
Es soll mal ein "Waypoint-Creator" (zum erstellen von Wegpunkten, wo später eine Spielfigur lang läuft) werden.
So bisher hat auch alles funktioniert.
Nun musste ich mein Programm aus diversen Gründen umbauen und nun will ich in ein JPanel zeichnen.
Dafür hab ich mir eine Klasse "DrawPane" erstellt die von JPanel abgeleitet und außerdem noch einen Mouselistener implementiert.
Ich hab keine Paint-Methode oder sonstige Methoden der Klasse überschrieben.
Problem:
Vorher hab ich im Hauptprogramm (MainPogram) auf Mausklick eine Instanz der Klasse "Waypoint" (abgeleitet von Component) erstellt.
Waypoint zeichnet sich selbst. Dann einfach diese Instanz (welche ja ein Component ist) dem JFrame hinzugefügt.
Sprich:
getContentPane().add(waypoint);
getContentPane().paintAll(getContentPane().getGraphics());
Hat einwandfrei funktioniert!
Jetzt möchte ich genau das gleiche mit dem JPanel machen, also denke ich mir:
drawPanel.add(waypoint);
drawPanel.paintAll(drawPanel.getGraphics());
oder
drawPanel.add(waypoint);
drawPanel.paintAll(drawPanel.getGraphics());
drawPanel.invalidate();
oder
drawPanel.add(waypoint);
drawPanel.paintAll(drawPanel.getGraphics());
drawPanel.repaint();
ABER NICHTS TUT SICH! Wenn ich mir aber nach jedem Mausklick aber
System.out.println(drawPanel.getComponentCount());
aufrufe erhöht sich der Wert immer um 1.
Das heisst er fügt wohl nach jedem Mausklick eine Komponenten (Waypoint) hinzu!
NUR SEHE ICH DIESE NICHT!
Hat irgendjemand eine Idee. Es handelt sich um ein Studien-Projekt und in 2 Wochen ist Abgabe.
Ich danke jetzt schon 1000x im vorraus!
Mfg
MisterDan
mein Programm hat bisher auf Mausklick an die geklickte Stelle einen Kreis mit ID (Waypoint) direkt in den JFrame gezeichnet.
Es soll mal ein "Waypoint-Creator" (zum erstellen von Wegpunkten, wo später eine Spielfigur lang läuft) werden.
So bisher hat auch alles funktioniert.
Nun musste ich mein Programm aus diversen Gründen umbauen und nun will ich in ein JPanel zeichnen.
Dafür hab ich mir eine Klasse "DrawPane" erstellt die von JPanel abgeleitet und außerdem noch einen Mouselistener implementiert.
Ich hab keine Paint-Methode oder sonstige Methoden der Klasse überschrieben.
Problem:
Vorher hab ich im Hauptprogramm (MainPogram) auf Mausklick eine Instanz der Klasse "Waypoint" (abgeleitet von Component) erstellt.
Waypoint zeichnet sich selbst. Dann einfach diese Instanz (welche ja ein Component ist) dem JFrame hinzugefügt.
Sprich:
getContentPane().add(waypoint);
getContentPane().paintAll(getContentPane().getGraphics());
Hat einwandfrei funktioniert!
Jetzt möchte ich genau das gleiche mit dem JPanel machen, also denke ich mir:
drawPanel.add(waypoint);
drawPanel.paintAll(drawPanel.getGraphics());
oder
drawPanel.add(waypoint);
drawPanel.paintAll(drawPanel.getGraphics());
drawPanel.invalidate();
oder
drawPanel.add(waypoint);
drawPanel.paintAll(drawPanel.getGraphics());
drawPanel.repaint();
ABER NICHTS TUT SICH! Wenn ich mir aber nach jedem Mausklick aber
System.out.println(drawPanel.getComponentCount());
aufrufe erhöht sich der Wert immer um 1.
Das heisst er fügt wohl nach jedem Mausklick eine Komponenten (Waypoint) hinzu!
NUR SEHE ICH DIESE NICHT!
Hat irgendjemand eine Idee. Es handelt sich um ein Studien-Projekt und in 2 Wochen ist Abgabe.
Ich danke jetzt schon 1000x im vorraus!
Mfg
MisterDan