gpt4 book ai didi

java - FlowLayout 中组件和容器边框之间的自由空间

转载 作者:行者123 更新时间:2023-11-29 08:55:34 24 4
gpt4 key购买 nike

当我在具有流布局管理器的内容 Pane 中放置某些内容时,我会在该组件和内容 Pane 的边框之间获得空闲空间。

默认流布局的 hgap 和 wgap 非零,但将它们设置为零并不能解决问题。

注意:请在这个布局中帮助我,不要建议使用其他布局,因为这是从较大的应用程序中摘录的。

设置负的 hgap 和 wgap 会有所帮助,但这肯定不是解决方案。这是要检查的代码:

import java.awt.*;
import javax.swing.*;

public class MainWindow extends JFrame{

public MainWindow (){
JPanel contentPane = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));

JPanel wp = new JPanel();
wp.setPreferredSize(new Dimension(500, 500));
wp.setBackground(Color.DARK_GRAY);

contentPane.add(wp);

setContentPane(contentPane);

pack();
setResizable(false);
setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MainWindow();
}
}

最佳答案

我在另一个主题上找到了答案。您必须在调用 pack() 之前编写 setResizable(false)。还没有找到为什么这是必要的解释,我认为这是因为 pack() 为框架添加了一些额外的空间。如果你不想让窗口调整大小我不知道如何解决这个问题。注意:您对其他 LayoutManager 有同样的问题,例如 BorderLayout(带有 pack 的管理器会增加额外的空间)。

关于java - FlowLayout 中组件和容器边框之间的自由空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20441083/

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