Java:WAITING鼠标输入(单击)

标签 java swing input mouse jframe

我正在 JFrame 中制作某种回合制战斗系统,玩家在轮到他时单击按钮。问题是:程序如何等待鼠标点击按钮?事情是这样的:

轮到玩家时{

  • 等待鼠标输入

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

       -> attack
    

    否则如果输入==项目

       -> use item
    

    等等

最佳答案

您不需要等待点击;你让 Swing 为你做这件事。相反,你可以将你想做的任何事情放入 ActionListener 中。并将其附加到按钮,以便单击按钮时执行它。

就轮到而言,你只需要一个成员变量来跟踪轮到谁了;然后按钮处理程序必须查看该变量才能知道要做什么。

顺便说一句,构建事物的一个好方法可能是拥有 Player类,以及 Game类,以及 Game 中的成员叫currentPlayer 。然后是ActionListener (将 Game 对象保留为其自己的成员变量)可以查看 currentPlayerGame并简单地调用 makeMove()关于适当的Player对象。

关于Java:WAITING鼠标输入(单击),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10039539/

相关文章:

java - 如何在 GUI 中向数组添加值

java - Swing 中的虚拟列表框

java - 如何获取 JTextPane 行数

java ;从输入文本文件到输出文本文件的换行符

java - Antlr 中的词法分析器模式

java - 用分母拆分字符串不起作用

java.lang.IllegalArgumentException : cannot add to layout: constraint must be a string 异常

firefox - 如何阻止 Firefox 的自动完成功能?

java - 在 Java 中输入未知行数的测试用例

java - Android:无法使用 TextView 执行方法