换行元素java swing

时间:2016-01-02 14:08:15

标签: java swing

我有这个例子,其中面板(标题,desc和按钮)彼此相邻放置enter image description here

这是代码

 public class Example extends JFrame {

    Example() {

        setLayout(new FlowLayout());
        for (int i = 0; i < 4; i++)
            add(new MyPanel());

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        pack();
        setVisible(true);
    }

    class MyPanel extends JPanel {

        MyPanel() {

            setLayout(new BorderLayout());
            add(new JLabel("title", SwingConstants.CENTER), BorderLayout.PAGE_START);
            add(new JLabel("<html>WWWWWW WWWWWWW<p>WWWWWWWWW<p>RRRRRRR RRRRR RRRRRRR"));
            add(new JButton("Details"), BorderLayout.PAGE_END);
        }
    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(() -> new Example());
    }
}

每次如何包裹面板?

enter image description here

1 个答案:

答案 0 :(得分:4)

只需使用不同的布局管理器 - 请阅读它们。可变行数和1列的new GridLayout(0, 1)可以使用。还可以考虑使用使用约束BoxLayout.PAGE_AXIS

的BoxLayout