2015-10-11 104 views
0

如何在JavaFX應用程序中隱藏鼠標,當用戶空閒時,可以說1秒?並在鼠標移動時再次顯示它?JavaFX設置鼠標閒置時隱藏

我的代碼

scene.setCursor(Cursor.NONE); 

這部分,但我不知道如何連接它的空閒時間。

回答

2

你可以做這樣的事情:

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

+0

完美解決方案! – Oshrib

+0

但是,如果光標在控件上不起作用,例如將光標放在按鈕上不會觸發此操作。任何幫助? –