Java Swing的简单快速布局

时间:2014-12-01 11:47:36

标签: java swing

我真的来自Web开发,我很少对Swing做任何事情。然而,今天我试图在Swing中实现一些简单的GUI,但是我遇到了麻烦,因为我没有时间(...是的,也许是因为缺乏兴趣,因为我认为不需要学习它了解GridLayout,GridBagLayout和其他深层......

所以,我只想要以下内容(每个X都是一个组件):

X X X X
   X

所有人都集中在一起,这已经有效了。我不能做的就是找到一个布局,我可以简单地将X Components排列成一行,然后在下一行中只有一个,那里没有特殊的对齐......

使用Swing获取此类布局的最简单/最简洁的方法是什么?

1 个答案:

答案 0 :(得分:0)

这个怎么样:

private static JPanel createPanel() {
    final JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

    final JPanel firstRowPanel = new JPanel();
    firstRowPanel.setLayout(new BoxLayout(firstRowPanel, BoxLayout.X_AXIS));

    firstRowPanel.add(new JLabel("X"));
    firstRowPanel.add(new JLabel("X"));
    firstRowPanel.add(new JLabel("X"));
    firstRowPanel.add(new JLabel("X"));

    final JPanel secondRowPanel = new JPanel();
    secondRowPanel.setLayout(new BoxLayout(secondRowPanel, BoxLayout.X_AXIS));

    secondRowPanel.add(Box.createHorizontalGlue());
    secondRowPanel.add(new JLabel("X"));
    secondRowPanel.add(Box.createHorizontalGlue());

    panel.add(firstRowPanel);
    panel.add(secondRowPanel);
    return panel;
}