gpt4 book ai didi

java - 将 MouseListener 数据发送回游戏处理程序

转载 作者:行者123 更新时间:2023-12-01 05:01:38 26 4
gpt4 key购买 nike

所以我的 Java 程序有一个 Main 类,它创建并初始化 Game 对象。 Game 类包含处理我的程序的代码。我的 Game 类初始化我的 Display 类。我的 Display 类初始化我的 DisplayPanel 类。我的 DisplayPanel 类实现了 MouseListener。

我的问题是我想根据需要将 MouseListener 数据发送回 Game 对象。但我无法从 DisplayPanel 正确访问游戏对象,因为它包含在 Main 类和方法中。

我想不出解决这个问题的正确方法。我确信这个问题和类似的问题相当普遍,并且希望知道处理这个问题和类似问题的常见且正确的方法是什么。

如果您确实认为有必要,我会发布代码,但我觉得我已经解释了您真正需要了解的所有内容,这会浪费我的时间。

最佳答案

正如评论中所确定的:

实现此目的的最简单方法是在 Game 类中,如下所示:

public class Game {
private MouseListener mouseListener = new MouseListener() {
public void onClick(MouseEvent e) {
// application logic here
}

public Game() {
DisplayPanel dp = new DisplayPanel();
dp.addMouseListener(mouseListener);
}
};
}

然后,您只需通过一系列方法调用将其定向到 DisplayPanel 类即可:

public class DisplayPanel extends JPanel {
public void addMouseListener(MouseListener mouseListener) {
this.addMouseListener(mouseListener);
}
}

(请注意,在这种情况下,由于 JPanel 有一个 addMouseListener 方法,因此无需实现您自己的方法。)

关于java - 将 MouseListener 数据发送回游戏处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com