JFrame Container.add方法类引用

问题描述 投票:0回答:1

我偶然发现了一个简单的PacMan游戏,该游戏由youtube上的一个名为“Learn Scoding from Scratch”的频道制作。在代码中有3个类文件,分别是Player,Level1和Executable。这是Level1的代码;

public class Level1 extends JPanel implements KeyListener{

    private JFrame window = new JFrame("PacMan");
    private ImageIcon background = new ImageIcon("images//background.jpeg");
    private Player player = new Player(5, 10, 10, "images//pacman_right.jpg", true, 0); 
    private int speed = 10;

    public Level1() {

        this.setFocusable(true);
        this.addKeyListener(this);
        **window.add(this);**

        window.setSize(940, 627);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setVisible(true);
}
    public void paint(Graphics g) {
        g.drawImage(background.getImage(), 0, 0, null);
        player.drawPlayer(g);
    }

我不明白的是“window.add(this)”。我从未见过JPanel和JFrame示例,您必须在JFrame中引用当前类。你只需添加按钮,标签等“.add”而不是当前的类?除了我检查了Oracle文档的Container.add方法,但基本上你可以放任何东西,这对我没什么帮助。你们能看看这个吗?提前致谢。附:我知道我发布的大部分代码都是多余的,但有人会要求整个代码:)

java swing oop jframe jpanel
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.