是否可以在任意節點/區域/窗格上逐漸淡入淡出效果?JavaFX 8節點/區域/窗格上的背景色轉換
我只是想在VBox(包含標籤)上顯示細微/簡短的紅/白「閃光燈」效果,以便在標籤值發生變化時引起注意。
編輯:迄今爲止我發現的這種性質的所有例子似乎都使用了「形狀」(這是一個節點),但當然VBox或窗格不是形狀 - 所以不會幫助我太多。在VBox上調用getShape()只返回null,所以這沒有幫助(我猜佈局代碼還沒有執行)。
編輯2: 這幾乎可以工作,但是這個dang效果似乎完全覆蓋(我認爲)VBox中的所有內容,包括文本Label。
ColorInput effect = new ColorInput(0, 0, 900, 25, Paint.valueOf("#FFDDDD"));
Timeline flash = new Timeline(
new KeyFrame(Duration.seconds(0.4), new KeyValue(effect.paintProperty(), Paint.valueOf("#EED9D9"))),
new KeyFrame(Duration.seconds(0.8), new KeyValue(effect.paintProperty(), Paint.valueOf("#E0DDDD"))),
new KeyFrame(Duration.seconds(1.0), new KeyValue(effect.paintProperty(), Paint.valueOf("#DDDDDD"))));
vbox.setEffect(effect);
flash.setOnFinished(e -> vbox.setEffect(null));
flash.play();
這是必須的,它是在一個VBox? –
不一定,但它應該是一個容器或某種類型,以便它可以容納一個文本標籤。 – User