Java JPanel无法获取给定的大小
我制作了一个JPanel,并为它分配了大小。但分配的大小不起作用。我想不出代码有什么问题?我只得到了JFrame。为什么会这样?请帮忙Java JPanel无法获取给定的大小,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,我制作了一个JPanel,并为它分配了大小。但分配的大小不起作用。我想不出代码有什么问题?我只得到了JFrame。为什么会这样?请帮忙 // Frame.java package game; import java.awt.GridLayout; import javax.swing.JFrame; import game.graphics.Screen; public class Frame extends JFrame{ p
// Frame.java
package game;
import java.awt.GridLayout;
import javax.swing.JFrame;
import game.graphics.Screen;
public class Frame extends JFrame{
public Frame()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("SNAKE");
setResizable(false);
setVisible(true);
}
public void Init()
{
setLayout(new GridLayout(1,1,0,0));
Screen s = new Screen();
add(s);
pack();
setLocationRelativeTo(null);
}
public static void main(String[] args)
{
new Frame();
}
}
//Screen.java
package game.graphics;
import java.awt.Dimension;
import javax.swing.JPanel;
public class Screen extends JPanel {
public static final int WIDTH = 800, HEIGHT = 800;
public Screen()
{
setPreferredSize(new Dimension(WIDTH, HEIGHT));
}
}
//这是一个解决方案您需要在某处调用
Init()
方法,将屏幕
添加到框架
。感谢它的工作。
import java.awt.Dimension;
import javax.swing.JPanel;
import java.awt.GridLayout;
import javax.swing.JFrame;
public class Frame extends JFrame{
public Frame()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("SNAKE");
setResizable(false);
setVisible(true);
}
public void Init()
{
setLayout(new GridLayout(1,1,0,0));
Screen s = new Screen();
add(s);
pack();
setLocationRelativeTo(null);
}
public static void main(String[] args)
{
Frame f = new Frame();
f.Init();
}
public class Screen extends JPanel {
public static final int WIDTH = 1000, HEIGHT = 800;
public Screen()
{
setPreferredSize(new Dimension(WIDTH, HEIGHT));
}
}
}