【发布时间】:2012-12-16 09:16:42
【问题描述】:
我正在编写一个简单的游戏,我正在使用一个包含网格和 JPanel 的 JFrame。
这是我的伪代码:
void MyJframeConstructor()
{
// some basic bootstrap logic
// calling repaint to draw grid
repaint();
// Grid is drawn fine.
// Showing user a confirm dialog box on which I add below JPanel.
if(confirmed)
{
// GameInfoPanel extends JPanel.
infoPanel = new GameInfoPanel(new FlowLayout(FlowLayout.LEFT));
infoPanel.setPreferredSize(new Dimension(400, 100));
infoPanel.setLocation(500, 50);
this.add(infoPanel);
infoPanel.validate();
}
}
我的问题是我的 JFrame 或窗口是 480 x 680。
在这个范围内,我在 480 x 480 区域中绘制了一个网格。
在其下方,我希望 JPanel 位于 500,50,尺寸为 400、100。
但是,当我运行此代码时,一旦用户通过 OK 确认,JPanel 就会填满整个 JFrame。
在应用程序的整个生命周期中,如何使面板保持原位并保持大小一致?
任何帮助都非常感谢,并提前感谢。
【问题讨论】:
-
父容器(
JFrame)的布局是什么?你能发布一个SSCE吗? sscce.org