SwingWorker i JPanel

0

Witam

Mam klasę dziedziczącą po JPanel, przeciąża ona jedną metodę a mianowicie PaintComponent(). Metoda ta rysuje kilka tysięcy(około 15 tyś.) figur (linie i punkty). Ponieważ odrysowanie tego panelu powoduje ze gui na chwile zamarza wymyśliłem żeby odrysowywać panel przy użyciu SwingWorkera. W PaintComponent() stworzyłem obiekt SwngWorkera i wrzuciłem do jego metody doInBackground() wszystkie operacje rysowania i uruchomiłem go w metodzie PaintComponent().
Wszystko jest super poza faktem ze przy odrysowywaniu ten panel jest o jedną operację do tyłu. To znaczy jak usunę 3 figury to z panelu znikną tylko dwie, a po ponownym odrysowaniu dopiero znika trzecia.

Dlaczego tak jest i czy można coś z tym zrobić?
Znacie może jakieś inne metody odrysowywania panelu bez zamrażania gui?

0

Spróbuj na końcu doInBackground() wykonać paintImmediatly na odpowiednim obszarze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1