gpt4 book ai didi

java - 框架和组件之间如何留有间隙?

转载 作者:行者123 更新时间:2023-12-02 08:53:40 25 4
gpt4 key购买 nike

我正在尝试练习我的 GUI,但在组件和框架之间放置间隙时遇到了麻烦。 enter image description here

上面的图片是我目前所拥有的。但我真的想在框架左侧和“label1”之间留出一个间隙。

private void initialize() {
frame = new JFrame();
frame.setTitle("WINDOW");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 300);

panel = new JPanel();
panel.setLayout(new BorderLayout());

bottomPanel = new JPanel();
bottomPanel.setLayout(new GridLayout(1, 5));
l1 = new JLabel("Label1");
l2 = new JLabel("Label2");
l3 = new JLabel("Label3");
l4 = new JLabel("Label4");
l5 = new JLabel("Label5");
bottomPanel.add(l1);
bottomPanel.add(l2);
bottomPanel.add(l3);
bottomPanel.add(l4);
bottomPanel.add(l5);

panel.add(bottomPanel, BorderLayout.SOUTH);
frame.add(panel);
}

以上是我的代码的一部分。我尝试这样做: BottomPanel.setLayout(new GridLayout(1, 5, -20, 0));放置一些水平间隙,但这只会增加组件之间的间隙。这根本没有将“label1”移离框架。还有其他方法可以做到这一点吗?我对 Java 很陌生,所以我不太了解其他技巧。我将不胜感激任何帮助!谢谢!

最佳答案

其他答案都是胡说八道,在调整 GUI 大小时不会达到预期的效果。而是使用:

JLabel.setHorizontalAlignment(SwingConstants.CENTER);

通过将 JLabel 中的文本居中,并结合 GridLayout 将组件拉伸(stretch)到单元格的整个宽度,每个标签两侧的空间将与GUI可以允许。例如。这是 GUI 尺寸最小时的效果。

enter image description here

当拉宽时:

enter image description here

(添加红色边框以显示每个标签的边界。)

关于java - 框架和组件之间如何留有间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60624660/

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