Hallo,
ich hatte ursprünglich eine Klasse von Canvas abgeleitet, auf das ich kurven usw zeichnen konnte. Dazu hatte ich die paint Methode überschrieben. Weiterhin kann ich eine Animation anstarten, wobei das Canvas alle 20ms neugezeichnet wird, also repaint() in einem Timer (Timer ist im Canvas) aufgerufen wird.
Jetzt hab ich Scrollbars benötigt und dachte ich leite meine Klasse nicht von Canvas ab, sondern von JPanel und dieses setze ich auf ein Scrollpane. Sollte ja kompatibel sein dachte ich. Funktioniert auch alles, nur ein Panel scheint so schlau zu sein, ein neuzeichnen nur auszuführen, wenn es sichtbar ist. Das Ding soll sich aber unbedingt neuzeichnen auch wenn es versteckt (iconified oder invisible) ist.
Wie könnte man das machen?
Habe schon validate, revalidate, invalidate, updateUI... aufgerufen, nichts tut sich :-(
das hab ich auch schon eingebaut, ka ob das nötig ist:
Hab auch schon von der Scrollpaine repaint(), invalidate, validate aufgerufen, tut sich auch nichts.
Gruß
ich hatte ursprünglich eine Klasse von Canvas abgeleitet, auf das ich kurven usw zeichnen konnte. Dazu hatte ich die paint Methode überschrieben. Weiterhin kann ich eine Animation anstarten, wobei das Canvas alle 20ms neugezeichnet wird, also repaint() in einem Timer (Timer ist im Canvas) aufgerufen wird.
Jetzt hab ich Scrollbars benötigt und dachte ich leite meine Klasse nicht von Canvas ab, sondern von JPanel und dieses setze ich auf ein Scrollpane. Sollte ja kompatibel sein dachte ich. Funktioniert auch alles, nur ein Panel scheint so schlau zu sein, ein neuzeichnen nur auszuführen, wenn es sichtbar ist. Das Ding soll sich aber unbedingt neuzeichnen auch wenn es versteckt (iconified oder invisible) ist.
Wie könnte man das machen?
Habe schon validate, revalidate, invalidate, updateUI... aufgerufen, nichts tut sich :-(
das hab ich auch schon eingebaut, ka ob das nötig ist:
Code:
public void paintComponent(Graphics g)
{
super.paintComponent(g);
paint(g);
}
Hab auch schon von der Scrollpaine repaint(), invalidate, validate aufgerufen, tut sich auch nichts.
Gruß