更改GridLayout的宽度

use*_*330 8 java layout swing grid-layout

我使用GridLayout为我的JPanel,并想知道,如果可以更改列的宽度:

GridLayout grid = new GridLayout(5,2);
panel.setLayout(grid);
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法吗?

May*_*dya 5

检查GridLayout api以查看网格是否已生成所有单元格大小相同.如果您希望组件以其首选大小显示,如(15,15),则将其添加到JPanel并将JPanel添加到GridLayout.JPanel将扩展以填充网格单元并允许组件以其首选大小显示.

对于不同大小的行,您将不得不尝试别的东西.嵌套布局将是一个很好的起点......

你总是可以使用可怕的GridBagLayout.


Tas*_*han 2

您可以为每一列使用单独的网格布局。

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


        grid.add(grid1);
        grid.add(grid2);
Run Code Online (Sandbox Code Playgroud)

您现在可以设置 grid1 和 grid2 的宽度。

  • “grid”作为 GridLayout 对象没有“add”。应该如何将它们添加到自己身上 (2认同)