【发布时间】:2015-10-11 15:31:30
【问题描述】:
当用户空闲时,我如何在 JavaFX 应用程序上隐藏鼠标,让我们说 1 秒?并在鼠标移动时再次显示?
我有这部分代码
scene.setCursor(Cursor.NONE);
但我不知道如何将它与空闲时间联系起来。
【问题讨论】:
当用户空闲时,我如何在 JavaFX 应用程序上隐藏鼠标,让我们说 1 秒?并在鼠标移动时再次显示?
我有这部分代码
scene.setCursor(Cursor.NONE);
但我不知道如何将它与空闲时间联系起来。
【问题讨论】:
你可以这样做:
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。
【讨论】: