diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java index a2fad3ae..3b2142ed 100644 --- a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatInspector.java @@ -155,7 +155,7 @@ public class FlatInspector rootPane.putClientProperty( FlatInspector.class, inspector ); inspector.setEnabled( true ); } else { - inspector.uninstall(); + inspector.setEnabled( false ); rootPane.putClientProperty( FlatInspector.class, null ); } } @@ -175,8 +175,6 @@ public class FlatInspector } }; - rootPane.getGlassPane().addMouseMotionListener( mouseMotionListener ); - keyListener = e -> { KeyEvent keyEvent = (KeyEvent) e; int keyCode = keyEvent.getKeyCode(); @@ -220,12 +218,10 @@ public class FlatInspector keyEvent.consume(); if( id == KeyEvent.KEY_PRESSED ) { + setEnabled( false ); FlatInspector inspector = (FlatInspector) rootPane.getClientProperty( FlatInspector.class ); - if( inspector == FlatInspector.this ) { - uninstall(); + if( inspector == FlatInspector.this ) rootPane.putClientProperty( FlatInspector.class, null ); - } else - setEnabled( false ); } } }; @@ -243,12 +239,6 @@ public class FlatInspector }; } - private void uninstall() { - setEnabled( false ); - rootPane.getGlassPane().setVisible( false ); - rootPane.getGlassPane().removeMouseMotionListener( mouseMotionListener ); - } - public void addPropertyChangeListener( PropertyChangeListener l ) { propertyChangeSupport.addPropertyChangeListener( l ); @@ -280,6 +270,12 @@ public class FlatInspector else toolkit.removeAWTEventListener( keyListener ); + // add/remove mouse listener + if( enabled ) + rootPane.getGlassPane().addMouseMotionListener( mouseMotionListener ); + else + rootPane.getGlassPane().removeMouseMotionListener( mouseMotionListener ); + // add/remove window listener if( enabled ) { window = SwingUtilities.windowForComponent( rootPane );