我正在尝试将2个JButton放置在9x9的网格下,但是当我添加按钮时,网格会被更改以容纳按钮,将所有内容(包括按钮放在矩形中)放置。
我想要的是在网格本身下面有一个网格和两个 按钮。
mainPanel.setBorder(BorderFactory.createLineBorder(Color.black,BORDER_WIDTH)); mainPanel.setLayout(new GridLayout(3,3));
for (int i = 0; i < subPanels.length; i++)
{
for (int j = 0; j < subPanels[i].length; j++)
{
subPanels[i][j] = new JPanel(new GridLayout(3, 3));
subPanels[i][j].setBorder(
BorderFactory.createLineBorder(Color.black, BORDER_WIDTH));
mainPanel.add(subPanels[i][j]);
}
}
buttonPanel.add(clear);
buttonPanel.add(solve);
buttonPanel.setLayout(new GridLayout(1,1));
mainPanel.add(buttonPanel);
buttonPanel应该在mainPanel下面。
答案 0 :(得分:2)
最容易的事情可能是将你的mainPanel放入BorderLayout的中心,然后将buttonPanel放在南方。
此外,您当前正在将buttonPanel的GridLayout设置为1行x 1列。您应该在添加按钮之前设置布局,并将其设置为1行x 2列。
答案 1 :(得分:0)
表单上的每个组件都有一个父组件。如果你在form1上放置button1,button1.parent将是'form1'。
将所需按钮的父级更改为相应的父级