Verschachtele Platform.runLater in resetToFitView für zuverlässige Zentrierung
Ein einzelner Platform.runLater-Aufruf kann feuern, bevor JavaFX das Layout nach setFitToWidth(true) vollständig abgeschlossen hat. Durch Verschachtelung eines zweiten runLater werden setHvalue(0.5) und setVvalue(0.5) erst nach dem nächsten vollständigen Layout-Pass gesetzt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+7
-4
@@ -727,12 +727,15 @@ public final class PdfPreviewPane {
|
||||
imageView.fitHeightProperty().bind(viewStack.heightProperty());
|
||||
scrollPane.setFitToWidth(true);
|
||||
scrollPane.setFitToHeight(true);
|
||||
// Zentrierung sicherstellen: nach layout() H/V auf Mitte setzen,
|
||||
// damit verbleibende Scroll-Werte aus dem Zoom-/Pan-Modus nicht nachwirken
|
||||
// Zentrierung sicherstellen: layout() im ersten runLater abschließen,
|
||||
// H/V im zweiten runLater setzen – garantiert, dass das Layout vollständig
|
||||
// abgeschlossen ist, bevor die Scroll-Werte gesetzt werden
|
||||
Platform.runLater(() -> {
|
||||
scrollPane.layout();
|
||||
scrollPane.setHvalue(0.5);
|
||||
scrollPane.setVvalue(0.5);
|
||||
Platform.runLater(() -> {
|
||||
scrollPane.setHvalue(0.5);
|
||||
scrollPane.setVvalue(0.5);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user