• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JFrame, po dodaniu elementów, nie zawsze widać je od razu

Object Storage Arubacloud
0 głosów
360 wizyt
pytanie zadane 17 kwietnia 2015 w Java przez nowszy94 Bywalec (2,320 p.)
edycja 17 kwietnia 2015 przez nowszy94

Witam.

Od niedawna uczę się programować w Javie. Jako że mam jakąś tam praktykę z C++ to nie bawiłem się w bąbelki, kopce itp w consoli, tylko przeszedłem do okienkowiego pakietu Swing.

Zauważyłem, że pisząc okienko, dodając jakieś buttony, menu itp. czasami po odpaleniu programu nie widzę od razu tych komponentów - okno jest puste. Po delikatnym powiekszeniu okna wszystkie komponenty zaczynają mi się wyświetlać.

Udało mi się rozwiazac ten problem.

Nalezy zainicjalizowac główne okno (JFrame) PO inicjalizacji oraz dodaniu do głównego okna wszystkich komponentów. Jeżeli zrobimy na odwrót, mamy sytuację taką, jak na powyższym obrazku.


a tutaj kody źródłow - istotna jest tutaj metoda initWindowSettings()

Niedzialajacy - http://wklej.org/id/1690584/

Dzialajacy - http://wklej.org/id/1690585/

Czy znalazłby się ktoś, kto odpowiedziałby na pytanie, dlaczego tak się dzieje? Jaki jest mechanizm tego błędu, że dzieje się tak a nie inaczej?

2 odpowiedzi

+1 głos
odpowiedź 18 kwietnia 2015 przez Tomasz90 Nałogowiec (25,140 p.)
wybrane 18 kwietnia 2015 przez nowszy94
 
Najlepsza
Stan obiektu panelu zmienił się od momentu umieszczenia go w oknie(umieściłeś czysty panel). Aby rysowanie przebiegło poprawnie musisz wywołać metodę revalidate() po metodzie add(panel).
0 głosów
odpowiedź 17 kwietnia 2015 przez bossik21 Mądrala (5,750 p.)
Daj na końcu tej metody inicjacyjnej w niedziałającym kodzie coś takiego:

repaint();

albo

this.pack();

Podobne pytania

+1 głos
1 odpowiedź 250 wizyt
pytanie zadane 10 kwietnia 2022 w Java przez coriver Nowicjusz (170 p.)
+1 głos
1 odpowiedź 1,773 wizyt
pytanie zadane 9 października 2018 w Java przez C.J Obywatel (1,370 p.)
0 głosów
1 odpowiedź 315 wizyt
pytanie zadane 26 października 2017 w Java przez zygmunt Początkujący (310 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...