Я пытаюсь сделать простой макет игры. Я делаю свой макет из Контейнеров - все контейнеры похожи на мой пример (это означает JPanel, setlayout, добавить компоненты, вернуть JPanel).
GridBagLayout troubles
Структура всего макета: (это 3 в основной компоновке)
верхний - BorderLayout.PAGE_START; // menu
центр - BorderLayout.PAGE_CENTER; // centerContainer()
bottom - BorderLayout.PAGE_END; // statusBar - только контейнер с текстом
размещение этих трех контейнеров отлично работает, но проблема заключается в размещении в центре Контейнера.
Центральная контейнерная структура: 3 контейнера - aboutServerContainer, aboutGameContainer, gameContainer.
gameContainer имеет размер 450x450
Я хочу начать serveInfo в той же высоте, как gameContainer и gameInfo под serverInfo, , но это как-то cernter serverInfo и gameInfo является uder, но это также сделать свободное пространство под gameContainer (Я не хочу никакого свободного места здесь.)
private Container centerContainer() {
JPanel centerJPanelJP = new JPanel();
GridBagConstraints gbc = new GridBagConstraints();
stredniJPanelJP.setLayout(new GridBagLayout());
//gbc.fill = GridBagConstraints.BOTH;
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridheight = 1;
centerJPanelJP.add(aboutServerContainer(),gbc);
gbc.gridheight = 1;
gbc.gridy = 1;
centerJPanelJP.add(aboutGameContainer(),gbc);
gbc.gridheight = 2;
gbc.gridx = 0;
gbc.gridy = 0;
centerJPanelJP.add(gamePanelContainer(),gbc);
return centerJPanelJP;
}
Действительно ли это ваш код? Является ли 'gridx' всегда 0? –
, пожалуйста, опубликуйте http://sscce.org/, демонстрируя свои проблемы. – mKorbel
@ TomHawtin-tackline да, но это, вероятно, неправильно. У меня есть некоторые проблемы с пониманием использования gridx, gridy. – user1097772