我正在 JPanel 布局 (Swing) 中寻找以下行为:基本上它会以垂直方式排列组件,一个组件彼此下方。
当组件无法垂直放置在容器中时,应在新行中添加下一个组件。这将动态地继续,根据需要添加新行。
添加 3 个标签后看起来像这样:
+--------------------------+
| label1 |
| label2 |
| label3 |
+--------------------------+
添加后:另外 2 个标签:
+--------------------------+
| label1 label4 |
| label2 label5 |
| label3 |
+--------------------------+
最后,再添加 2 个标签后,它看起来像这样:
+--------------------------+
| label1 label4 label7 |
| label2 label5 |
| label3 label6 |
+--------------------------+
是否可以通过当前布局之一实现此行为?
我应该自己创建一个吗?
你会如何解决这个问题?
最佳答案
是的,这是可能的。尝试使用 MigLayout .
这是一个说明用法的代码片段:
JPanel panel = new JPanel(new MigLayout("fill, flowY, wrap 4));
panel.add(new JLabel("row 1, column 1"));
panel.add(new JLabel("row 2, column 1"));
panel.add(new JLabel("row 3, column 1"));
panel.add(new JLabel("row 1, column 2")); // etc.
关于java - 智能垂直流布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3546115/