【发布时间】:2014-07-17 17:02:01
【问题描述】:
所以我有这个代码:
final StackPane g = new StackPane();
final ProgressIndicator p1 = new ProgressIndicator();
p1.setPrefSize(100, 100);
p1.progressProperty().addListener(new ChangeListener<Number>() {
@SuppressWarnings("rawtypes")
@Override
public void changed(ObservableValue ov, Number oldVal, Number newVal) {
if (p1.getProgress() < 0.3) {
p1.setStyle("-fx-progress-color: red;");
} else if (p1.getProgress() < 0.65) {
p1.setStyle("-fx-progress-color: orange;");
} else {
p1.setStyle("-fx-progress-color: green;");
}
}
});
timeline.setCycleCount(Timeline.INDEFINITE);
timeline.setAutoReverse(true);
final KeyValue kv = new KeyValue(p1.progressProperty(), 1);
final KeyFrame kf1 = new KeyFrame(Duration.millis(3000), kv);
timeline.getKeyFrames().add(kf1);
g.getChildren().addAll(p1); //veil
g.setAlignment(Pos.CENTER);
然后我将堆栈窗格添加到场景中,并将场景添加到舞台。
我有两个阶段,一个是我所有的东西的初始阶段,另一个是进度指示器。这是问题所在:包含进度指示器的阶段有一个白色方形(框)作为背景,非常适合其他阶段,因为通常具有相同的白色背景。但是当初始背景不是白色时,我可以看到进度指示器阶段的白色背景。所以这是我的问题:如何使背景透明?我尝试了 BlendMode 类,但这似乎不起作用。有任何想法吗?
提前致谢!
【问题讨论】: