0

所以我在init()一个小程序里面有一些这样的代码:

layout = new BorderLayout();
setLayout(layout);

northPanel = new JPanel(new FlowLayout());

northPanel.add(inputDropDown);
northPanel.add(lowBoundLabel);
northPanel.add(lowBoundField);
northPanel.add(highBoundLabel);
northPanel.add(highBoundField);
northPanel.add(new JLabel("using"));
northPanel.add(categoriesField);
northPanel.add(new JLabel("categories"));
northPanel.add(showTotalsBox);
northPanel.add(refreshButton);

add(northPanel, BorderLayout.NORTH);

现在当我测试它时,所有元素都在一条直线上,并且在没有足够空间时不会环绕。我什至确保指定面板是FlowLayout(即使它是默认的)并且它没有改变任何东西。

他们不应该换行而不是离开屏幕吗?这是怎么回事?我想出了一个临时解决方案,将 更改northPanelBorderLayout,将这些元素拆分为单独的面板并将它们添加到NorthSouth。但是,在此方法中,元素只是从屏幕上消失而没有必要的空间,所以我宁愿让它们环绕。

4

1 回答 1

2

这实际上是如何FlowLayout工作的,烦人是不是......

换个方式看看WrapLayout...

于 2013-05-30T01:35:19.823 回答