gpt4 book ai didi

java - 为什么将 resizing 设置为 false 会导致出现一些填充?

转载 作者:行者123 更新时间:2023-11-30 07:25:29 25 4
gpt4 key购买 nike

下面是简单的程序理解方式JFrame::setResizable(boolean)作品:

JFrame frame = new JFrame("Test");
JPanel p1 = new JPanel();
FlowLayout fl = new FlowLayout(FlowLayout.LEADING, 0, 0);

//Adding buttons
p1.setLayout(fl);
p1.setBackground(Color.BLACK);
p1.add(new JButton("1"));
p1.add(new JButton("1"));
p1.add(new JButton("1"));
p1.add(new JButton("1"));
p1.add(new JButton("1"));

//Adding to JFrame
frame.add(p1);
frame.pack();

//Here is where the problem comes
frame.setResizable(false);

//The rest...
frame.setLocationRelativeTo(null);
frame.setVisible(true);

这就是它显示的内容:

enter image description here

现在当我改变 frame.setResizable(false);frame.setResizable(true);它的工作原理如下(我没有做任何大小调整,只是在启动之后):

enter image description here

问题:第一个示例中的填充从何而来?如何制作resizable = false窗口如第二个示例中所示(即没有这些填充)。

最佳答案

从这个看discussion ,如果您更改 setResizablepack 的顺序,该问题将不再出现(我对此进行了测试并且有效)。

因此请按以下顺序调用它们:

1)

frame.setResizable(false);

2)

frame.pack();

关于java - 为什么将 resizing 设置为 false 会导致出现一些填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36869793/

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