所以我在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
(即使它是默认的)并且它没有改变任何东西。
他们不应该换行而不是离开屏幕吗?这是怎么回事?我想出了一个临时解决方案,将 更改northPanel
为BorderLayout
,将这些元素拆分为单独的面板并将它们添加到North
和South
。但是,在此方法中,元素只是从屏幕上消失而没有必要的空间,所以我宁愿让它们环绕。