在JavaFX中按下同步键

时间:2017-07-14 22:04:23

标签: java javafx

End Sub

我试图制作一段代码,允许我按下2个同时键(例如Z和X键),然后计算我按下该组合键的次数。但我注意到,每按一次Z和X键,程序计数两次。谁能告诉我这是否正常或某些EventHandler有问题?非常感谢。

1 个答案:

答案 0 :(得分:1)

ChangeListener只知道它的对象状态已经改变。它不知道它的对象是如何或发生了什么。您现在拥有的逻辑是每当 ZAndXPressed 更改时增加 i ,无论是从true变为false,还是从false变为true。

试试这个:

// How to Respond to both Keys ("Z" and "X") pressed together.
ZAndXPressed.addListener(new ChangeListener<Boolean>()
{
  @Override
  public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue)
  {
    if (newValue == true)
    {
        i++;
        l1.setText(Integer.toString(i));
    }
  }
});