java - 如何使流布局垂直居中
问题描述
我正在尝试将“Flowlayout”-ed JPanel 垂直居中在另一个面板内。这是我想要实现的目标:
-----------------
| |
| one two three |
| four five six |
| seven eight |
| nine |
| |
-----------------
-----------------------
| |
| one two three four |
| five six seven eight |
| nine |
| |
-----------------------
内容应该在包含面板的范围内流动、增长和收缩,并且垂直居中。
不幸的是,我能掌握的只是一个顶部对齐的面板,它看起来像:
-----------------------
| one two three four |
| five six seven eight |
| nine |
| |
| |
-----------------------
public class ListFlowCell extends JPanel
{
public ListFlowCell(List<String> list)
{
setLayout(new FlowLayout(FlowLayout.LEADING));
list.forEach(s -> add(new JLabel(s)));
}
}
有没有办法使用 MigLayout 实现所需的行为?
解决方案
我正在尝试将“Flowlayout”-ed JPanel 垂直居中在另一个面板中
包装面板可以使用GridBagLayout
.
默认情况下,添加到面板的任何组件都将垂直和水平居中。因此,当您添加面板时,您还需要设置weightx
约束,FlowLayout
这将允许面板水平增长。
推荐阅读
- excel - VBA:如何在用户表单文本框中显示文件路径
- sql - Postgres/Redshift 按状态统计最后 5 行
- jenkins - 从版本 2.7.2 更新到 2.107.2 后,Jenkins 代理无法连接
- mysql - Laravel - 无法在查询中加入表
- r - 下一个“特定”观察结果向后进行(NOCB)
- node.js - 使用 node-crawler 或 simplecrawler 进行 NodeJS 网络爬取
- python - 管道预测 X 的形状与拟合期间不同
- c++ - X509_get0_notBefore 和 X509_get0_noAfter 在这个范围内?
- python - 运动生成器 2016 PyQt4
- r - 如何计算缺失的输出值