Java 在JLabel之间创建垂直空间未按预期进行
我想在jlabel之间创建一个垂直空间。这是我的代码:Java 在JLabel之间创建垂直空间未按预期进行,java,swing,jlabel,Java,Swing,Jlabel,我想在jlabel之间创建一个垂直空间。这是我的代码: JPanel label = new JPanel(new FlowLayout(FlowLayout.LEFT)); label.add(Box.createVerticalStrut(50)); label.add(label1); label.add(Box.createHorizontalStrut(50)); label.add(label2); label.add(Box.crea
JPanel label = new JPanel(new FlowLayout(FlowLayout.LEFT));
label.add(Box.createVerticalStrut(50));
label.add(label1);
label.add(Box.createHorizontalStrut(50));
label.add(label2);
label.add(Box.createVerticalStrut(50));
label.add(label3);
label.add(Box.createHorizontalStrut(50));
label.add(label4);
我希望在每个JLabel
之间有相等的垂直空间,但是,当我调整框时,它会变得很奇怪。CreateHorizontalstrop(50)
有人知道为什么吗?FlowLayout用于将JLabel定位到面板的左侧。根据这一点,我想将一些JLabel放置在中心位置(因此水平移动),是否有其他方法通过FlowLayout
来实现这一点
谢谢
我想在jlabel之间创建一个垂直空间
然后您可能应该使用BoxLayout
。阅读上Swing教程中的部分以了解工作示例
FlowLayout用于将JLabel定位到面板的左侧。根据此,
然后可以在每个标签上使用setAlignmentX(0.0f)
。然后,BoxLayout将标签向左对齐
我想把一些JLabel放在中间
我相信这是标签对齐的默认值(每个组件都不同),所以您不必做任何事情。但如果您想确保始终可以在标签上使用setAlignment(0.5f)
我想在jlabel之间创建一个垂直空间
然后您可能应该使用BoxLayout
。阅读上Swing教程中的部分以了解工作示例
FlowLayout用于将JLabel定位到面板的左侧。根据此,
然后可以在每个标签上使用setAlignmentX(0.0f)
。然后,BoxLayout将标签向左对齐
我想把一些JLabel放在中间
我相信这是标签对齐的默认值(每个组件都不同),所以您不必做任何事情。但如果您想确保始终可以在标签上使用
setAlignment(0.5f)
。流布局不是最佳选择。如果您的需求很简单,请尝试BoxLayout或GridLayout。(我还建议你在这篇文章上加上Swing
标签,让正确的人看到它。)FlowLayout
通常的做法是将组件排成一行。使用GridBagLayout
进行最大程度的定制。也可以使用一些非标准布局。例如,流式布局并不是最好的选择。如果您的需求很简单,请尝试BoxLayout或GridLayout。(我还建议你在这篇文章上加上Swing
标签,让正确的人看到它。)FlowLayout
通常的做法是将组件排成一行。使用GridBagLayout
进行最大程度的定制。也可以使用一些非标准布局。例如或