2016-09-01 57 views
0

我正在尋找一種方法來實現一個簡單的彈出窗口,只顯示幾秒鐘;可能類似於當新歌開始時,多少音樂節目將在屏幕的角落顯示新的藝術家/歌曲信息。(JavaFX)如何在執行操作時顯示臨時彈出(OSD)?

我希望能夠顯示一個簡短的確認,說明某個操作已成功執行。在我的情況下,雙擊TableView單元格會將單元格的內容複製到Clipboard.但是,我想向用戶顯示已完成的某些指示。

我需要一個客戶Alert或手動Tooltip爲此或有一個現有的API,我還沒有找到?

回答

1

使用任何彈出窗口的實現是最方便的,並使用一個PauseTransition所需的時間後隱藏:

// can use an Alert, Dialog, or PopupWindow as needed... 
Stage popup = new Stage(); 
// configure UI for popup etc... 

// hide popup after 3 seconds: 
PauseTransition delay = new PauseTransition(Duration.seconds(3)); 
delay.setOnFinished(e -> popup.hide()); 

popup.show(); 
delay.play(); 
+0

謝謝你,@James_D。我最終使用'Timeline',因爲'PauseTransition'沒有解決。 – Zephyr

0

除了James_D答案我建議:

Notifications

enter image description here

它們構建在ControlsFX庫中,並正在做你所需要的。

例子:

Notifications.create() 
       .title("Title Text") 
       .text("Hello World 0!") 
       .showWarning(); 
相關問題