2012-04-26 200 views
8

的寬度變化我使用網格佈局爲我的JPanel並想知道,如果它是可以改變列的寬度:網格佈局

GridLayout grid = new GridLayout(5,2); 
panel.setLayout(grid); 

有一個簡單的方法是什麼?

+2

你想要有不同寬度的列嗎? – 2012-04-26 11:42:11

+0

我會考慮這兩個,不同的寬度的列和改變整個佈局的寬度。 – user1170330 2012-04-26 11:44:34

回答

4

您可以爲每列使用單獨的網格佈局。

GridLayout grid = new GridLayout(1,2); 
    GridLayout grid1 = new GridLayout(5,1); 
     GridLayout grid2 = new GridLayout(5,1); 


     grid.add(grid1); 
     grid.add(grid2); 

您現在可以設置一個GRID1和GRID2的寬度。

+1

作爲GridLayout對象的「網格」沒有「添加」。應該如何將它們添加到自己 – 2016-06-13 12:21:53

5

檢查GridLayout api,看看網格是如此製作的,所以所有的單元格都是相同的大小。如果你想要一個組件以它的首選大小顯示,比如(15,15),把它添加到一個JPanel中,並將JPanel添加到GridLayout中。 JPanel將擴展以填充網格單元並允許組件以其首選大小顯示。

對於不同大小的行,您必須嘗試其他方法。嵌套佈局將是一個很好的起點...

你總是可以使用可怕的GridBagLayout。