Mam irytujący problem z moimi JPanels, które używają BorderLayout.
this.setLayout(new BorderLayout(0, 0));
JPanel panel = new JPanel(new BorderLayout(0, 0));
panel.add(new Slot(), BorderLayout.SOUTH);
panel.add(new MapGUI(), BorderLayout.NORTH);
this.add(panel, BorderLayout.CENTER);
To jest w konstruktorze mojego JPanel Inventory. Slot () i MapGUI () to klasy rozszerzające JPanel. Po uruchomieniu gry ekran wygląda następująco:
Najwyraźniej panele są całkowicie wyłączone, a oba są poza ekranem. Jak mogę to naprawić? Dziękuję za wszelką pomoc.
Odpowiedzi:
1 dla odpowiedzi № 1Według JavaDocs dla BorderLayout:
Elementy są ułożone zgodnie z ichpreferowane rozmiary i ograniczenia wielkości kontenera. Komponenty PÓŁNOCNY i POŁUDNIOWY można rozciągać w poziomie; komponenty PÓŁNOCNY i ZACHODNI można rozciągać w pionie; komponent CENTER może rozciągać się zarówno w poziomie, jak i w pionie, aby wypełnić resztki pozostawionego miejsca.
Czy masz ustawione preferowane rozmiary?
Możesz spróbować BoxLayout jeśli chcesz wyrównać komponenty w pionie.