• 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 PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
235 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ź 126 wizyt
pytanie zadane 10 kwietnia 2022 w Java przez coriver Nowicjusz (170 p.)
+1 głos
1 odpowiedź 1,418 wizyt
pytanie zadane 9 października 2018 w Java przez C.J Obywatel (1,370 p.)
0 głosów
1 odpowiedź 276 wizyt
pytanie zadane 26 października 2017 w Java przez zygmunt Początkujący (310 p.)

90,816 zapytań

139,494 odpowiedzi

313,557 komentarzy

60,313 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...