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