如何在JavaFX应用程序上隐藏鼠标,当用户空闲时,让我们说1秒钟?当鼠标移动时再显示一次?
我有这部分代码
scene.setCursor(Cursor.NONE);
但我不知道如何将它与空闲时间联系起来。
答案 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
。