• 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

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
393 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ź 276 wizyt
pytanie zadane 10 kwietnia 2022 w Java przez coriver Nowicjusz (170 p.)
+1 głos
1 odpowiedź 2,005 wizyt
pytanie zadane 9 października 2018 w Java przez C.J Obywatel (1,370 p.)
0 głosów
1 odpowiedź 344 wizyt
pytanie zadane 26 października 2017 w Java przez zygmunt Początkujący (310 p.)

93,096 zapytań

142,059 odpowiedzi

321,513 komentarzy

62,441 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...