Я написал этот короткий класс, который должен добавить объект класса "Player", который содержит реализованный KeyListener, но кажется, что что-то отсутствует для addKeyListener(); метод.
import java.awt.*;
import javax.swing.*;
public class Titlescreen {
private Player player;
public void init()
{
player = new Player();
this.addKeyListener(player);
}
public void tick()
{
player.tick();
}
public void paint()
{
}
}
Ваш Titlescreen не имеет addKeyListener(...)
и не расширяет класс, который имеет этот метод, поэтому компилятор справедливо жалуется, что вы вызываете метод, который не существует для этого класса.
У вас есть несколько вариантов:
addKeyListener(...)
, но тогда вам нужно будет выяснить, что должно иметь тело метода, т.е. Что вы будете добавлять KeyListener внутри тела метода.addKeyListener(...)
. Я предполагаю, что это то, что вы хотели сделать, но забыл сделать это, но я не уверен, учитывая информацию, которую вы опубликовали до сих пор. Обратите внимание: если вы это сделаете, вам нужно будет убедиться, что прослушанный компонент 1) настраивается и 2) имеет фокус приложения, когда вы хотите, чтобы KeyListener функционировал.this.addKeyListener(...)
метода this.addKeyListener(...)
. Самое главное - причина, по которой вы даже делаете этот звонок, и, возможно, что-то лучше.