在我创建一个新的Frame对象以将未来的JPanels附加到对象" j"之后。没有被认可。
package engine;
import javax.swing.*;
public class GamePanel extends JFrame{
final int HEIGHT=700, WIDTH=500;
JFrame j= new JFrame("LittleRPG");
j.setSize(HEIGHT, WIDTH);
}
j.setSize();没有被接受并且出现错误(这适用于初始构造之后的所有对象引用)。我需要帮助确定原因;新鲜的眼睛总是有帮助 - 谢谢你
答案 0 :(得分:1)
您不需要创建单独的JFrame对象来设置大小,因为您已经从JFrame扩展了GamePanel类。因此,您可以直接在构造函数GamePanel中将其设置为代码:
package engine;
import javax.swing.*;
public class GamePanel extends JFrame
{
final int HEIGHT=700, WIDTH=500;
GamePanel ()
{
setSize(HEIGHT, WIDTH);
}
}
答案 1 :(得分:1)
您的setSize(HEIGHT, WIDTH);
方法必须位于构造函数或其他方法中。就像@Vikas Suryawanshi所说,你可以调用JFrame的方法,你不需要创建一个新的Object。
答案 2 :(得分:0)
@Tupfer和@Vikas的答案是正确的。
你仍然希望使用Jframe
然后
package engine;
import javax.swing.*;
import java.awt.Color;
public class GamePanel extends JPanel{
final int HEIGHT=700, WIDTH=500;
public static void main(String[] args){
JFrame j= new JFrame("LittleRPG");
j.setSize(HEIGHT, WIDTH);
j.getContentPane().add(new GamePanel());
j.setVisible(true);
j.setLocationRelativeTo(null);
j.setBackground(Color.BLUE);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
此外,您无需延长JFrame