У мене дратує проблема зі своїми 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 якщо ви хочете вирівняти компоненти вертикально.