/ / Неправильний інтервал з JPanel за допомогою BorderLayout - java, swing, jpanel, layout-manager, border-layout

Невірне розмежування з JPanels за допомогою BorderLayout - java, swing, jpanel, layout-manager, border-layout

У мене дратує проблема зі своїми JPanel, які використовують 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);

Це в конструкторі мого інвентаря JPanel. Slot () та MapGUI () - це класи, що розширюють JPanel. Коли гра працює, екран виглядає так: введіть опис зображення тут

Очевидно, що панелі повністю вимкнено, обидві - поза екраном. Як я можу це виправити? Дякуємо за будь-яку допомогу.

Відповіді:

1 для відповіді № 1

Відповідно до JavaDocs для BorderLayout:

Компоненти розкладаються відповідно до їхбажані розміри та обмеження розміру контейнера. Компоненти Північного та Південного можуть бути розтягнуті горизонтально; компоненти СХІД і ЗАХІД можуть бути розтягнуті вертикально; компонент ЦЕНТР може розтягуватися як по горизонталі, так і по вертикалі, щоб заповнити будь-який простір, що залишився.

У вас встановлений бажаний розмір?

Ви можете спробувати BoxLayout якщо ви хочете вирівняти компоненти вертикально.