Java JPanel填充整个JFrame
我正在编写一个简单的游戏,我正在使用一个包含网格和JPanel的JFrame。Java JPanel填充整个JFrame,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,我正在编写一个简单的游戏,我正在使用一个包含网格和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.
这是我的伪代码:
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。
如何在应用程序的整个生命周期内保持面板的位置和大小一致?
任何帮助都将受到高度赞赏并提前表示感谢 在此范围内,我绘制了一个480 x 480区域的网格
- 凌驾
- 然后调用
和JFrame.pack()
作为最后一行代码JFrame.setVisible(true)
- 必须阅读
- 如果只有一个
(JPanel
),则使用f.e.JPanel填充整个JFrame
非FlowLayoutmyFrame.add(infoPanel,BorderLayout.CENTER)
- 不要扩展
将此JFrame
对象创建为局部变量
- 凌驾
- 然后调用
和JFrame.pack()
作为最后一行代码JFrame.setVisible(true)
- 必须阅读
- 如果只有一个
(JPanel
),则使用f.e.JPanel填充整个JFrame
非FlowLayoutmyFrame.add(infoPanel,BorderLayout.CENTER)
- 不要扩展
将此JFrame
对象创建为局部变量