Java Miglayout包装JPanels

时间:2016-08-01 20:18:54

标签: java swing layout-manager miglayout

我想弄清楚为什么在添加JPanel后我无法换行。我的目标是让一个类构建我的JPanels然后我将它添加到主屏幕,所有JPanels相互堆叠。如果我用JLables替换JPanels,我可以使用它。以下是我目前的结果:

JPanel zPanel = new JPanel();
    for(int i = 0; i < zones.size(); i++ )
    {
        JLabel zLabel = new JLabel(zones.get(i));
        zPanel.add(zLabel);
        grid.add(zPanel,"wrap");
    }

Failed Test

我正在尝试做什么:

for(int i = 0; i < zones.size(); i++ )
    {
        JLabel zLabel = new JLabel(zones.get(i));
        grid.add(zLabel,"wrap");
    }

Passed Test

1 个答案:

答案 0 :(得分:0)

如果您要将JLabel添加到JPanel,那么您需要将其包裹在JPanel内。并且,在填充所有子项时添加zPanel

JPanel zPanel = new JPanel(new MigLayout("wrap 1");
for(int i = 0; i < zones.size(); i++ )
{
    JLabel zLabel = new JLabel(zones.get(i));
    zPanel.add(zLabel);
}
grid.add(zPanel,"wrap");