Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使flowlayout垂直居中_Java_Swing - Fatal编程技术网

Java 如何使flowlayout垂直居中

Java 如何使flowlayout垂直居中,java,swing,Java,Swing,我试图在另一个面板内垂直居中一个流动布局的JPanel。以下是我努力实现的目标: ----------------- | | | one two three | | four five six | | seven eight | | nine | | | ----------------- ----------------------- |

我试图在另一个面板内垂直居中一个流动布局的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                 |
|                       |    
|                       |
 -----------------------
有没有一种方法可以通过MigLayout实现所需的行为

我试图在另一个面板内垂直居中一个流动布局的JPanel

包装器面板可以使用GridBagLayout

默认情况下,添加到配电盘的任何组件都将垂直和水平居中。因此,在使用FlowLayout添加面板时,还需要设置weightx约束,这将允许面板水平增长

我试图在另一个面板内垂直居中一个流动布局的JPanel

包装器面板可以使用GridBagLayout


默认情况下,添加到配电盘的任何组件都将垂直和水平居中。因此,当您使用FlowLayout添加面板时,您还需要设置weightx约束,这将允许面板水平增长。

在提问时发布一条正确的信息。在提问时发布一条正确的信息。谢谢,我一直在尝试GridBagLayout。。。我的面板将左中对齐,但只占用一条线,该线将在单元格末尾用“``constraints.fill=GridBagConstraints.VERTICAL”截断;constraints.anchor=gridbagsconstraints.WEST;约束条件:权重x=0;constraints.weighty=0;`就像这样……````-----一个两个thr--------``或者它将是左上对齐的,并用``约束填充单元格。权重x=1;constraints.weighty=1;`你知道如何填充和居中吗?你被要求张贴一个演示你的问题的帖子。使用上述建议向MRE更新您的问题。所以你需要一个JFrame,你的包装器面板被添加到框架中,你的FlowLayout面板被添加到包装器面板中。谢谢,我一直在尝试GridBagLayout。。。我的面板将左中对齐,但只占用一条线,该线将在单元格末尾用“``constraints.fill=GridBagConstraints.VERTICAL”截断;constraints.anchor=gridbagsconstraints.WEST;约束条件:权重x=0;constraints.weighty=0;`就像这样……````-----一个两个thr--------``或者它将是左上对齐的,并用``约束填充单元格。权重x=1;constraints.weighty=1;`你知道如何填充和居中吗?你被要求张贴一个演示你的问题的帖子。使用上述建议向MRE更新您的问题。因此,您需要一个JFrame,您的包装器面板被添加到框架中,您的FlowLayout面板被添加到包装器面板中。
public class ListFlowCell extends JPanel
{

    public ListFlowCell(List<String> list)
    {
            
        setLayout(new FlowLayout(FlowLayout.LEADING));  
        list.forEach(s -> add(new JLabel(s)));
    
    }

}