在网格下放置按钮

时间:2012-02-24 14:04:56

标签: java swing grid jbutton

我正在尝试将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下面。

2 个答案:

答案 0 :(得分:2)

最容易的事情可能是将你的mainPanel放入BorderLayout的中心,然后将buttonPanel放在南方。

此外,您当前正在将buttonPanel的GridLayout设置为1行x 1列。您应该在添加按钮之前设置布局,并将其设置为1行x 2列。

答案 1 :(得分:0)

表单上的每个组件都有一个父组件。如果你在form1上放置button1,button1.parent将是'form1'。

将所需按钮的父级更改为相应的父级