我有一个学校的程序试图创建一个自动售货机,我试图让一个以上的按钮进行烘烤,以便在同一过渡中进行淡入淡出过渡!这是可能的还是我必须为每个按钮进行完全不同的淡入淡出过渡?
FadeTransition ft = new FadeTransition();
ft.setNode(imgView1);
ft.setDuration(Duration.millis(5000));
ft.setFromValue(1.0);
ft.setToValue(0.0);
ft.setCycleCount(1);
ft.setAutoReverse(true);
ft.plat();
btn1.setOnMousePressed(e->ft.play());
我有3个其他按钮和图像我想做同样的事情但不确定我是否必须制作每个Seperated FadeTransition或者我是否可以将它们添加到这个?
除非节点是没有可视内容的公共父节点中的唯一节点,否则无法将转换应用于多个节点。
但是,您可以将其他节点的opacity
属性绑定到动画节点的opacity
:
node2.opacityProperty().bind(imgView1.opacityProperty());
node3.opacityProperty().bind(imgView1.opacityProperty());
您还可以为每个节点创建一个带有Timeline
元素的KeyValue
:
Timeline timeline = new Timeline(new KeyFrame(Duration.ZERO,
new KeyValue(node1.opacityProperty(), 1d),
new KeyValue(node2.opacityProperty(), 1d),
new KeyValue(node3.opacityProperty(), 1d)),
new KeyFrame(Duration.seconds(5),
new KeyValue(node1.opacityProperty(), 0d),
new KeyValue(node2.opacityProperty(), 0d),
new KeyValue(node3.opacityProperty(), 0d)));
timeline.setAutoReverse(true);
timeline.play();