如何链接这两个鼠标事件?了JavaFx

时间:2017-08-23 20:25:56

标签: java oop javafx event-handling mouseevent

我目前正在开展一个需要链接两个鼠标事件的项目。游戏包括比较屏幕上许多气球的两个移动气球。说明如下:

  1. 我点击一个有英文文本的气球(鼠标事件1),气球应该停止,我应该把文字的字符串保存在某个地方
  2. 我点击一个有西班牙语文本的气球(鼠标事件2),气球应该停止,我应该把文字的字符串保存在某个地方
  3. 点击
  4. 后,将英文文本与西班牙文本进行比较

    如果单词的翻译是正确的,那么气球会消失,我不会失去生命("生命"是HBox上的矩形),否则我会失去生命,气球逐渐消失。

    我想到的另一件事是:

    1. 点击气球,气球停止(鼠标事件1)
    2. 点击气球,气球停止(鼠标事件2)
    3. 该程序应该知道我已经点击了这两个气球。然后,我可以使用一种方法来比较气球,以检查翻译是否错​​误或正确,并使它们逐渐消失。

1 个答案:

答案 0 :(得分:0)

你应该为每个气球添加一个EventHandler,并使用另一个变量跟踪第一个或第二个气球。像这样:

public class ViewController {

  private String savedStr;

  public void init() {
    for (Baloon baloon : baloons) {
        baloon.setOnMouseClicked(event -> {
            if (savedStr == null) { // Mouse Event 1
              savedStr = baloon.getString());
            } else { // Mouse Event 2
              checkTranslation(savedStr, baloon.getString());
              savedStr  = null;
            }
        }
    }
  }
}