From b4f2bf60c60a61edf0e3dae96ac9267c710370f8 Mon Sep 17 00:00:00 2001 From: Marcus van Elst Date: Tue, 5 May 2026 14:39:32 +0200 Subject: [PATCH] =?UTF-8?q?Verschachtele=20Platform.runLater=20in=20resetT?= =?UTF-8?q?oFitView=20f=C3=BCr=20zuverl=C3=A4ssige=20Zentrierung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../adapter/in/gui/batchrun/PdfPreviewPane.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pdf-umbenenner-adapter-in-gui/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/gui/batchrun/PdfPreviewPane.java b/pdf-umbenenner-adapter-in-gui/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/gui/batchrun/PdfPreviewPane.java index 0ba219c..9f7ed51 100644 --- a/pdf-umbenenner-adapter-in-gui/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/gui/batchrun/PdfPreviewPane.java +++ b/pdf-umbenenner-adapter-in-gui/src/main/java/de/gecheckt/pdf/umbenenner/adapter/in/gui/batchrun/PdfPreviewPane.java @@ -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); + }); }); } }