Java:等待鼠标输入(点击)

问题描述:

我在JFrame中制作某种基于回合的战斗系统,玩家在轮到他时点击一个按钮。问题是:程序如何等待鼠标单击按钮?它是这样的:Java:等待鼠标输入(点击)

,而它是玩家的回合{

  • 等待鼠标输入

  • 如果输入==攻击(例如)

    -> attack 
    

    否则,如果input == item

    -> use item 
    

+1

你的问题是什么? – 2012-04-06 05:33:35

+0

我已经把它放在while循环中,但框架的内容不显示我认为这是因为while循环 – Zik 2012-04-06 05:37:13

+0

是什么?我的问题是程序如何等待鼠标点击按钮? – Zik 2012-04-06 05:37:31

您不必等待点击;你让Swing为你做。相反,你把你想做的任何事情放入一个ActionListener并将它附加到按钮上,以便在单击该按钮时执行它。

至于轮到你,你只需要一个成员变量的地方,保持跟踪它的轮到它;按钮处理程序然后必须查看该变量才能知道该怎么做。构建东西

的一个好方法,顺便说一下,可能是有一个Player类和Game类,并在Game成员称为currentPlayer。然后ActionListener(它将Game对象保留为其自己的成员变量)可以在Game中查看currentPlayer,并简单地在适当的Player对象上调用makeMove()

+0

好吧,我会想到另一种解决方案。谢谢! – Zik 2012-04-06 05:45:40