JavaFX在空闲时设置鼠标隐藏

时间:2015-10-11 15:31:30

标签: java javafx

如何在JavaFX应用程序上隐藏鼠标,当用户空闲时,让我们说1秒钟?当鼠标移动时再显示一次?

我有这部分代码

scene.setCursor(Cursor.NONE);

但我不知道如何将它与空闲时间联系起来。

1 个答案:

答案 0 :(得分:4)

您可以这样做:

PauseTransition idle = new PauseTransition(Duration.seconds(1));
idle.setOnFinished(e -> scene.setCursor(Cursor.NONE));
scene.addEventHandler(Event.ANY, e -> {
    idle.playFromStart();
    scene.setCursor(Cursor.DEFAULT);
});

这会产生一秒钟的暂停。当用户执行任何操作时,将重新启动暂停并将光标设置为默认值。如果暂停结束,只有在整个持续时间内没有重新启动(例如,如果用户一秒钟没有做任何事情),则只能暂停,然后将光标设置为NONE