2012-04-26 197 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。