摆动流程布局中断元素

mic*_*nko 13 java swing

我有使用流程布局的面板.

如何在流程布局中取得突破?喜欢<br/>在HTML中.一些特殊的break元素或另一个技巧来指示指定的元素和所有后续必须转到下一行.

Pau*_*lin 13

在这样的情况下,我会在BoxLayout中将两个容器与flowlayout一个放在彼此的顶部.嵌套布局相当便宜.

  • 如果正确编码,没有理由存在间隙. (3认同)

cam*_*ckr 10

总结的布局可能是你的解决方案.当线路已满时,它会自动将组件移动到下一行.


ext*_*eon 8

您想手动分割多行组件吗?所以你知道你想要的断线位置.

在那种情况下,我将使用3个面板:

  • 1个面板包含其他2个面板,其中GridLayout为1列
  • GridLayout中有2个面板,每个面板都有一个FlowLayout

示例代码:

    frame = new JFrame();
    frame.setBounds(100, 100, 450, 300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    {
        panel = new JPanel();
        frame.getContentPane().add(panel, BorderLayout.NORTH);
        panel.setLayout(new GridLayout(0, 1, 0, 0));
        {
            panel_1 = new JPanel();
            panel.add(panel_1);
            {
                lblPanelFlowlayout = new JLabel("Panel 2: FlowLayout");
                panel_1.add(lblPanelFlowlayout);
            }
        }
        {
            panel_2 = new JPanel();
            panel.add(panel_2);
            {
                lblPanel = new JLabel("Panel 3: FlowLayout");
                panel_2.add(lblPanel);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

您可以根据需要添加任意数量的具有FlowLayout的新面板.每次你做一个BR你现在将下一个面板设置为活动(可能动态创建它).