Fix #3669: 修复首次打开子页面时切换动画丢失的问题 (#4365)

This commit is contained in:
Glavo 2025-08-31 12:11:13 +08:00 committed by GitHub
parent 5374127241
commit 82e0cd1ca1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -30,8 +30,7 @@ public class TransitionPane extends StackPane implements AnimationHandler {
private Duration duration; private Duration duration;
private Node previousNode, currentNode; private Node previousNode, currentNode;
{ public TransitionPane() {
currentNode = getChildren().stream().findFirst().orElse(null);
FXUtils.setOverflowHidden(this); FXUtils.setOverflowHidden(this);
} }
@ -91,8 +90,12 @@ public class TransitionPane extends StackPane implements AnimationHandler {
private void updateContent(Node newView) { private void updateContent(Node newView) {
if (getWidth() > 0 && getHeight() > 0) { if (getWidth() > 0 && getHeight() > 0) {
previousNode = currentNode; previousNode = currentNode;
if (previousNode == null) if (previousNode == null) {
if (getChildren().isEmpty())
previousNode = EMPTY_PANE; previousNode = EMPTY_PANE;
else
previousNode = getChildren().get(0);
}
} else } else
previousNode = EMPTY_PANE; previousNode = EMPTY_PANE;