gpt4 book ai didi

java - 将面板添加到 BorderLayout 区域,元素未按应有的方式换行

转载 作者:行者123 更新时间:2023-12-02 06:59:38 26 4
gpt4 key购买 nike

所以我在小程序的 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。然而,元素只是从屏幕上消失,而在此方法中没有必要的空间,所以我宁愿让它们环绕起来。

最佳答案

这实际上正是 FlowLayout 的工作原理,很烦人不是吗...

看看WrapLayout相反...

关于java - 将面板添加到 BorderLayout 区域,元素未按应有的方式换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com