GridLayout不遵守每列我想要的行数

mre*_*mre 4 java swing awt layout-manager grid-layout

我有以下,

GridLayout layout = new GridLayout(4, 0);
Run Code Online (Sandbox Code Playgroud)

如果我有5项目,这将创建2列,其中第一个包含3行,第二个包含2行.这不是我想要的,也不是我所期望的.我希望第一列包含4行,第二列包含1行.

为什么这个布局管理器不符合每列我想要的行数?或者更好的是,我如何让这个布局经理尊重这个?

tra*_*god 6

结果似乎是预期的:"只有当行数设置为零时,指定列数才会影响布局."

您可以使用获得预期的效果JList,如图所示这里.

private static final int N = 5;
...
list.setLayoutOrientation(JList.VERTICAL_WRAP);
list.setVisibleRowCount(N - 1);
Run Code Online (Sandbox Code Playgroud)

图片