< prev index next >
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ProgressIndicatorSkin.java
Print this page
*** 191,200 ****
--- 191,203 ----
registerChangeListener(control.indeterminateProperty(), "INDETERMINATE");
registerChangeListener(control.progressProperty(), "PROGRESS");
registerChangeListener(control.visibleProperty(), "VISIBLE");
registerChangeListener(control.parentProperty(), "PARENT");
registerChangeListener(control.sceneProperty(), "SCENE");
+ if ((control.getScene() != null) && (control.getScene().getWindow() != null)) {
+ registerChangeListener(control.getScene().getWindow().showingProperty(), "WINDOWSHOWING");
+ }
initialize();
}
*** 215,224 ****
--- 218,229 ----
updateAnimation();
} else if ("PARENT".equals(p)) {
updateAnimation();
} else if ("SCENE".equals(p)) {
updateAnimation();
+ } else if ("WINDOWSHOWING".equals(p)) {
+ updateAnimation();
}
}
protected void initialize() {
boolean isIndeterminate = control.isIndeterminate();
*** 291,301 ****
protected void updateAnimation() {
ProgressIndicator control = getSkinnable();
final boolean isTreeVisible = control.isVisible() &&
control.getParent() != null &&
! control.getScene() != null;
if (indeterminateTransition != null) {
pauseTimeline(! isTreeVisible);
} else if (isTreeVisible) {
createIndeterminateTimeline();
}
--- 296,308 ----
protected void updateAnimation() {
ProgressIndicator control = getSkinnable();
final boolean isTreeVisible = control.isVisible() &&
control.getParent() != null &&
! control.getScene() != null &&
! control.getScene().getWindow() != null &&
! control.getScene().getWindow().isShowing();
if (indeterminateTransition != null) {
pauseTimeline(! isTreeVisible);
} else if (isTreeVisible) {
createIndeterminateTimeline();
}
< prev index next >