2012-02-24 93 views
-1

我想在9x9的網格下放置2個JButton,但是當我添加按鈕時,網格會更改爲適應按鈕,將所有按鈕放在一個矩形中。將按鈕放置在網格下

我想要的是有一個網格和兩個按鈕以下網格本身。

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

窗體上的每一個組件都有一個父。如果您將button1放在form1上,button1.parent將是'form1'。

變化要適當的父

2

按鈕的父母最容易的事情可能是把你的mainPanel到BorderLayout的中心,然後把buttonPanel在南部。

此外,您目前正在將buttonPanel的GridLayout設置爲1行x 1列。您應該在添加按鈕之前設置佈局,並將其設置爲1行x 2列。

+0

我該怎麼做?將它們設置爲中心和南方? – enrm 2012-02-24 17:34:45

+0

嘗試查看BorderLayout的文檔 – GreyBeardedGeek 2012-02-27 01:56:28