JavaFX:在很短的时间内隐藏窗格
我正在寻找一种方法,将一个窗格隐藏一小段时间(大约100毫秒),然后立即再次显示
现在,我使用的是一个顶部有两个锚的StackPane,按下键后,我移除了顶部窗格。然而,这似乎不会立即发生,而且时间太长
我还尝试使用CSS使顶部窗格不可见,但这似乎没有任何作用
下面是一些代码:
pn_middle.setStyle("-fx-background-color: rgba(128, 128, 128, 0);");
try {
Thread.sleep(1000); //1 sec for testing
} catch (InterruptedException e) {
e.printStackTrace();
}
pn_middle.setStyle("-fx-background-color: rgba(128, 128, 128, 1);");
# 1 楼答案
使用
Timer
来计时要隐藏Pane
的时间。试试这个例子,它包含一个StackPane
,其中有一个窗格,颜色为PINK
和一个Button
。在click of the Button
上,Pane
被隐藏1000毫秒使用任务
您还可以通过稍后使用
Task
和Thread.sleep
ad将任务的valueProperty
与Pane
的visibleProperty
绑定来实现这一点不创建任何新线程
多亏了Tomas Mikula's answer,这也可以在不创建任何新线程的情况下实现。使用
Timeline
、KeyFrames
和KeyValue
的组合