Huhu
Ich habe mich nun durch einige Tutorials durchgemogelt, aber verstehe nicht unbedingt, wie ich nun mein Problem lösen kann.
Ich arbeite mit Swing (sprich JApplet, JFrame, etc (??)).
Wenn ich nun Auf dem Applet mehrere Panels habe, die etwas zeichnen, werden einige Sachen nicht immer richtig angezeigt. Sprich hin und wieder werden einige Gezeichnete Sachen nicht dargestellt.
Bei den Panels nutze ich paintComponent - so wie ich es verstanden habe, sollte man die normale paint-Methode nicht überschreiben.
Warum aber werden nun einige Sachen nicht immer dargestellt?
Auch verstehe ich nicht ganz (weil es nicht explizit in irgendwelchen Tutorials angegeben wird), wie ich beispielswiese super.paintComponent anwende.
Hier mal einige Beispiele. Was hiervon ist Richtig btw ein Falscher Ansatz?
Ich habe mich nun durch einige Tutorials durchgemogelt, aber verstehe nicht unbedingt, wie ich nun mein Problem lösen kann.
Ich arbeite mit Swing (sprich JApplet, JFrame, etc (??)).
Wenn ich nun Auf dem Applet mehrere Panels habe, die etwas zeichnen, werden einige Sachen nicht immer richtig angezeigt. Sprich hin und wieder werden einige Gezeichnete Sachen nicht dargestellt.
Bei den Panels nutze ich paintComponent - so wie ich es verstanden habe, sollte man die normale paint-Methode nicht überschreiben.
Warum aber werden nun einige Sachen nicht immer dargestellt?
Auch verstehe ich nicht ganz (weil es nicht explizit in irgendwelchen Tutorials angegeben wird), wie ich beispielswiese super.paintComponent anwende.
Hier mal einige Beispiele. Was hiervon ist Richtig btw ein Falscher Ansatz?
Java:
// Beispiel 1
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString("Hello World", 10, 10);
}
// Beispiel 2
public void paintComponent(Graphics g) {
g.drawString("Hello World", 10, 10);
super.paintComponent(g);
}
// Beispiel 3
public void paintComponent(Graphics g) {
super.paintComponents(g);
g.drawString("Hello World", 10, 10);
}
// Beispiel 4
public void paintComponent(Graphics g) {
g.drawString("Hello World", 10, 10);
super.paintComponents(g);
}