如何简单地用Java发送事件?

时间:2010-06-04 14:43:17

标签: java events

我正在用Java编写一个基本的tic tac toe游戏。 在我的Board课程中,我有一个摆动窗口,用于确定按下了哪个按钮。 TttGame是具有Board对象的类。

这个板的目标不是充当功能齐全的tic-tac-toe板,而是作为TttGame类控制所有逻辑的框架。因此,当按钮被按下按钮的ID时,我需要Board发送某种事件。

这样做最简单的方法是什么?

编辑:我找到了一个名为Observer模式的东西 - 这是最简单的方法吗?

2 个答案:

答案 0 :(得分:3)

是的,观察者模式是您想要在此处应用的模式。创建一个Listener接口(BoardListener),可能是这样的:

public interface BoardListener {
    public void squareSelected(int x, int y);
}

然后在Set类中维护ListBoard个侦听器并循环浏览它们,在选择正方形时,在每个侦听器上调用squareSelected。

我会研究模型 - 视图 - 控制器模式,其中View会监听模型的更改,并且Controller会检测用户操作并相应地更改模型。

答案 1 :(得分:0)

我建议稍微改变你的设计。拥有游戏逻辑并跟踪棋盘上的棋子位置都可以在“引擎”(或一系列没有视觉显示的类别)中完成。

然后,您将拥有一个中间类,用于将所有片段位置传递到可互换的显示类。它还可以处理从显示类到引擎的任何通信(例如单击以放置X或O)

P.S。我在考虑跳棋,而不是在打字时打字,但设计仍然适用