Java小程序密钥侦听器

Java小程序密钥侦听器,java,Java,我在Game.java中有以下代码: public void start () { Thread thread = new Thread(this); thread.start(); this.world = new World(); } 在世界级的比赛中,我有我真正的比赛项目,一组墙,食物和一名球员 public class World { private Food food; private HashSet<Wall> walls =

我在Game.java中有以下代码:

public void start ()
{
    Thread thread = new Thread(this);
    thread.start();

    this.world = new World();
}
在世界级的比赛中,我有我真正的比赛项目,一组墙,食物和一名球员

public class World {
    private Food food;
    private HashSet<Wall> walls = new HashSet<Wall>();
    private Player player; 
    ...
}
公共类世界{
私人食品;
私有HashSet walls=新HashSet();
私人玩家;
...
}
问题如下:我想让我的KeyListener在player类中,但我似乎不知道如何得到这个

我已经在Player.java中实现了KeyListener类,并实现了它附带的3个函数。但是,player.java不允许我使用这个.addKeyListener(这个),所以我的keyevents永远不会被触发


我怎样才能做到这一点呢?

你需要在你的
Applet
/
JApplet
上调用
addKeyListener
,并将(相同的!)
player
实例作为侦听器传递。

你需要在
Applet
/
上调用
addKeyListener
,并传递(相同!)
玩家
实例作为监听器。

这是Swing(JApplet类)?AWT(使用小程序类)?这是Swing(JApplet类)?AWT(使用小程序类)?我的目标是让一切都井然有序(例如,只让游戏类与世界级对话,而不是底层的食物和玩家类)。对于这个解决方案(这确实有效)我必须向世界级添加一个getPlayer()方法,这对我来说似乎不是很干净。或者我仍然在做错事吗?你可以给
世界
一个从
小程序
初始化自己的方法(通过添加处理程序)。我的目标是保持一切都很好和有条理(例如,只让游戏类与世界级对话,而不是底层的食物和玩家类)。对于这个解决方案(确实有效),我必须添加一个getPlayer()方法,这对我来说似乎不是很干净。或者我还在做错事吗?您可以给
World
一个从
Applet
初始化自身的方法(通过添加处理程序)