niedziela, 16 grudnia 2012

JPanel losowo nie rysuje się

Pisanie projektów na studia powinno nas czegoś uczyć. Postanowiłam, iż jak dowiem się czegoś ciekawego, co nie było do końca oczywiste i warto się tym podzielić ze światem, to będzie miejsce w którym to wstawię.

Dziś rozważmy problem losowego nie pojawiania się contentu z JPanelu w Javie.
Pisze projekt w którym rysuje różne obiekty na JPanelu. Ręcznie, bez ustawiania komponentów. Używam do tego obiektu klasy Graphics2D. Nadpisałam pięknie metodę paintComponent w klasie dziedziczącej po JPanelu i cieszyłam się jak głupia z pojawiających się bazgrołów. Jednak nie na długo...

Znikajace elementy JPanelu

Problem pojawiał się, że czasami gdy odpalałam program JPanel był pusty. Działo się to zupełnie losowo. Przez dłuższy czas nie mogłam dojść do tego o co chodzi. Jednak znalazłam magiczne i bardzo proste rozwiązanie.

Wszystko przez SetVisible

Okazało się, że SetVisible na obiekcie okienka JFrame musi być jak najdalej w kodzie jak tylko się da. Nie zwróciłam na to większej uwagi pisząc za pierwszym razem - myślałam, że jak już wszystko stworzyłam i dodałam do okienka to mogę je wyświetlić. A tu psikus. Zadziałało gdy między tymi komendami dzieją się jeszcze inne rzeczy.

Brak komentarzy:

Prześlij komentarz