Probably bug: UI changes made while minimized, not reflected upon restore/maximize

Cormac Redmond credmond at certak.com
Wed Mar 12 15:30:36 UTC 2025


Great -- thanks John & Andy!

On Wed, 12 Mar 2025 at 15:06, Andy Goryachev <andy.goryachev at oracle.com>
wrote:

> Thank you for reporting the issue!
>
> I’ve created https://bugs.openjdk.org/browse/JDK-8351867
>
>
>
> -andy
>
>
>
>
>
> *From: *openjfx-dev <openjfx-dev-retn at openjdk.org> on behalf of Cormac
> Redmond <credmond at certak.com>
> *Date: *Tuesday, March 11, 2025 at 18:36
> *To: *openjfx-dev at openjdk.org <openjfx-dev at openjdk.org>
> *Subject: *Re: Probably bug: UI changes made while minimized, not
> reflected upon restore/maximize
>
> That meant to say: the act of simply maximising the window ***doesn't***
> seem to trigger a redraw.
>
>
>
>
>
> On Wed, 12 Mar 2025 at 00:19, Cormac Redmond <credmond at certak.com> wrote:
>
> Hi all,
>
>
>
> A user reported this on reddit:
> https://www.reddit.com/r/JavaFX/comments/1j8ibpf/platformrunlater_not_updating_the_content_when/
>
>
>
> I do feel this is a bug so I'm raising it here. Windows 11, JFX 23.0.2.
>
>
>
> A quick summary is: if you change a Label while your app is minimized, for
> example, the change does not get reflected when restored/maximised, unless
> _something else_ triggers a redraw, such as a window resize, or a hover
> over a button, etc.
>
>
>
> The act of simply maximising the window does seem to trigger a redraw. I
> think it should.
>
>
>
> Here are two fairly self-explanatory Java classes to demonstrate the
> problem (adapted from the reddit post).
>
>
>
> Steps:
>
>
>
> - Run MinimizeBugApp, observe label
>
> - Run Client, hit enter and observe label change as expected
>
> - Minimize app, and hit enter on Client one or more times (all triggering
> label changes)
>
> - Restore app, note Label incorrectly still *displays* the same value as
> before the minimize, despite update(s)
>
> - Re-size window to force a redraw, observe correct label value appears
>
>
>
>
>
> public class MinimizeBugApp extends Application {
>
>     public void start(Stage stage) {
>         Label label = new Label("This should be modified when the signal
> is received");
>
>         StackPane stackPane = new StackPane();
>         stackPane.getChildren().add(label);
>         Scene scene = new Scene(stackPane, 500, 500);
>         stage.setScene(scene);
>         stage.show();
>
>         new Thread(() -> {
>             this.startServer(label);
>         }).start();
>     }
>
>     void startServer(final Label label) {
>         try (ServerSocket serverSocket = new ServerSocket(1590)) {
>             while (true) {
>                 System.out.println("Waiting for connection...");
>                 serverSocket.accept();
>                 Platform.runLater(() -> {
>                     System.out.println("Setting signal is received...");
>                     label.setText("The signal is received " + new Date());
>
>                     // This will print the correct text, always -- but the
> texted isn't what is reflected if
>                     // it's minimized and then maximized
>                     System.out.println("Label text should be: " +
> label.getText());
>                 });
>             }
>         } catch (Exception e) {
>             e.printStackTrace();
>         }
>     }
>
>     public static void main(String[] args) {
>         launch();
>     }
> }
>
>
>
>
>
> // Simple test to trigger something in a JavaFX app via a socket
> public class Client {
>     public static void main(String[] args) {
>         Scanner scanner = new Scanner(System.in);
>
>         while (true) {
>             try {
>                 System.out.print("Hit enter to create connection");
>                 scanner.nextLine();
>                 new Socket("localhost", 1590);
>                 System.out.println("Created connection");
>             } catch (IOException e) {
>                 e.printStackTrace();
>             }
>         }
>     }
> }
>
>
>
>
>
> Any thoughts? Is this by design for some reason, or a bug?
>
>
>
>
>
>
> Kind Regards,
>
>
>
> *Cormac Redmond*
>
> Software Engineer, Certak Ltd.
>
>
>
> e: credmond at certak.com | m: +353 (0) 86 268 2152 | w: www.certak.com
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20250312/5f4bd6d6/attachment.htm>


More information about the openjfx-dev mailing list