【问题标题】:Java applet keylistenerJava 小程序按键监听器
【发布时间】:2011-08-07 10:37:37
【问题描述】:

我在 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; 
    ...
}

问题如下:我想让我的 keylisteners 出现在播放器类中,但我似乎无法弄清楚如何获得它...

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

我怎样才能做到这一点?

【问题讨论】:

  • 这是 Swing(一个 JApplet)吗? AWT(使用 Applet 类)?

标签: java


【解决方案1】:

您需要在您的Applet / JApplet 上调用addKeyListener 并传递(same!)player 实例作为侦听器。

【讨论】:

  • 我的目标是保持一切井井有条(例如,只让 Game 类与 World 类对话,而不是底层的 Food 和 Player 类)。对于这个解决方案(确实有效),我必须向 World 类添加一个 getPlayer() 方法,这对我来说似乎不是很干净。还是我还是做错了什么?
  • 您可以为World 提供一个从Applet 初始化自身的方法(通过添加处理程序)
猜你喜欢
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 2014-01-13
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 2012-04-29
相关资源
最近更新 更多