From f8c769644d4594ae330d543ce7588e917d658232 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Wed, 15 Dec 2021 11:37:35 +0100 Subject: [PATCH] SwingX: fixed `NullPointerException` in `FlatCaret` when using `org.jdesktop.swingx.prompt.PromptSupport.setPrompt()` on a text field and then switching theme --- CHANGELOG.md | 3 +++ .../src/main/java/com/formdev/flatlaf/ui/FlatCaret.java | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1ed9665..6b04dc08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -98,6 +98,9 @@ FlatLaf Change Log color. (issue #409) - InternalFrame: Fill background to avoid that parent may shine through internal frame if it contains non-opaque components. (better fix for issue #274) +- SwingX: Fixed `NullPointerException` in `FlatCaret` when using + `org.jdesktop.swingx.prompt.PromptSupport.setPrompt()` on a text field and + then switching theme. ## 1.6.5 diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatCaret.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatCaret.java index b274a4be..cd957bb8 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatCaret.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatCaret.java @@ -101,6 +101,9 @@ public class FlatCaret // adds selection highlights to the text component highlighter if( isSelectionVisible() ) { EventQueue.invokeLater( () -> { + if( getComponent() == null ) + return; // was deinstalled + if( isSelectionVisible() ) { setSelectionVisible( false ); setSelectionVisible( true ); @@ -253,6 +256,9 @@ public class FlatCaret // select all if( c instanceof JFormattedTextField ) { EventQueue.invokeLater( () -> { + if( getComponent() == null ) + return; // was deinstalled + select( 0, doc.getLength() ); } ); } else {