【发布时间】:2016-04-26 15:46:39
【问题描述】:
这是了解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);
这就是它所显示的:
现在,当我将 frame.setResizable(false); 更改为 frame.setResizable(true); 时,它的工作方式如下(我没有进行任何调整大小,只是在启动之后):
问题:第一个示例中的填充来自哪里?如何制作第二个示例中的resizable = false 窗口(即没有这些填充)。
【问题讨论】: