Если вы хотите, чтобы две шахматные доски оставались одинакового размера, вам нужно, чтобы каждая из них содержала свои собственные JPanel
. Установите для каждого из родительских JPanel тип макета GridBagLayout
. Установите значение preredSize для каждого компонента шахматной доски, а затем добавьте их в соответствующие контейнеры. GridBagLayout по умолчанию должен размещать каждую доску в центре родительской JPanel. Таким образом, по мере изменения размера окна родительская область JPanel будет увеличиваться или уменьшаться, но компоненты шахматной доски внутри будут оставаться одинакового размера.
В качестве альтернативы, вы можете сделать так, чтобы ваши синие квадраты масштабировались до нужного размера, поскольку размер окна изменялся, если бы каждый квадрат шахматной доски был JPanel
с менеджером макета BorderLayout
и добавлением JLabel
(с синим цветом фона ) в BorderLayout.CENTER
месте.
Что касается ваших кнопок, попробуйте что-то вроде этого:
JPanel theButtonPanel = new JPanel(new BorderLayout());
JButton button1 = new JButton("Fire");
JButton button2 = new JButton("Pass");
JButton button3 = new JButton("Forfiet");
JPanel innerButtonContainer = new JPanel(new Grid(1, 3, 8, 8));
innerButtonContainer.add(button1);
innerButtonContainer.add(button2);
innerButtonContainer.add(button3);
theButtonPanel.add(innterButtonContainer);
Наконец, рассмотрите возможность использования инструмента дизайна для пользовательского интерфейса Swing. В Netbeans встроен превосходный дизайнер UI . Скачать Netbeans здесь .