(JavaFX)如何在执行操作时显示临时弹出窗口(OSD)?

时间:2016-09-01 22:08:54

标签: popup tableview javafx-8 alert

我正在寻找一种方法来实现一个简单的弹出窗口,它只在屏幕上显示几秒钟;可能类似于当新歌开始时有多少音乐节目会在屏幕的一角显示新的艺术家/歌曲信息。

我希望能够显示已成功执行某项操作的简短确认。在我的情况下,双击TableView单元格会将单元格的内容复制到Clipboard.但是,我想向用户显示已经完成此操作的一些指示。

我是否需要客户Alert或手动Tooltip,或者是否还有我尚未找到的现有API?

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

除了James_D的回答,我建议:

  

Notifications

enter image description here

它们构建在ControlsFX库中,并且可以满足您的需求。

示例:

foo1