Я наткнулся на простую игру PacMan, созданную каналом на YouTube под названием «Learn Coding 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, но в основном вы можете поместить туда все, что мне не сильно помогло.Не могли бы вы, ребята, взглянуть на это?Заранее спасибо.PS Я знаю, что большая часть кода, который я выложил, является избыточной, но кто-то все равно попросит весь код :)