Java GridLayout

时间:2009-12-07 19:04:30

标签: java grid-layout

有没有办法在gridlayout中添加元素,将它们水平而不是垂直添加?基本上我想在元素开始之前用元素填充整行。

希望我明白我的问题。

5 个答案:

答案 0 :(得分:6)

答案 1 :(得分:2)

我建议GridBagLayoutGridBagConstraints

它很像GridLayout,但是使用GridBagConstraints,您可以指定组件的x和y坐标,并且可以执行列和行跨度。

它看起来像这样:

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();

JPanel panel = new JPanel();
JLabel label = new JLabel("foo");

panel.setLayout(layout);

c.gridx = 0;
c.gridy = 0;
panel.add(label, c);

答案 2 :(得分:0)

GridLayout,顾名思义根据您在constructor中指定的列数和行数来布局组件,并在添加指定数量的组件后立即移至下一行。

从您的问题来看,似乎FlowLayout更符合您的要求。

修改:我不确定原因,但是如果您将行数指定为0(例如new GridLayout(0, 9),则它似乎正常工作。

答案 3 :(得分:0)

我假设您打算在移动到下一列之前填写列中的所有行。如果是这样,那么使用自定义布局管理器

VerticalGridLayout

答案 4 :(得分:0)

实际上你应该使用GroupLayout它是新的(自jdk 1.6以来)并且非常棒。它为您提供了大量的布局灵活性。