diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatClearIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatClearIcon.java index edce46f9..30f691c4 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatClearIcon.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatClearIcon.java @@ -47,8 +47,16 @@ public class FlatClearIcon @Styleable protected Color clearIconHoverColor = UIManager.getColor( "SearchField.clearIconHoverColor" ); @Styleable protected Color clearIconPressedColor = UIManager.getColor( "SearchField.clearIconPressedColor" ); + private final boolean ignoreButtonState; + public FlatClearIcon() { + this( false ); + } + + /** @since 2 */ + public FlatClearIcon( boolean ignoreButtonState ) { super( 16, 16, null ); + this.ignoreButtonState = ignoreButtonState; } /** @since 2 */ @@ -63,7 +71,7 @@ public class FlatClearIcon @Override protected void paintIcon( Component c, Graphics2D g ) { - if( c instanceof AbstractButton ) { + if( !ignoreButtonState && c instanceof AbstractButton ) { ButtonModel model = ((AbstractButton)c).getModel(); if( model.isPressed() || model.isRollover() ) { /* diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchIcon.java index 89fd7af0..e9f72ffa 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchIcon.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchIcon.java @@ -45,8 +45,16 @@ public class FlatSearchIcon @Styleable protected Color searchIconHoverColor = UIManager.getColor( "SearchField.searchIconHoverColor" ); @Styleable protected Color searchIconPressedColor = UIManager.getColor( "SearchField.searchIconPressedColor" ); + private final boolean ignoreButtonState; + public FlatSearchIcon() { + this( false ); + } + + /** @since 2 */ + public FlatSearchIcon( boolean ignoreButtonState ) { super( 16, 16, null ); + this.ignoreButtonState = ignoreButtonState; } /** @since 2 */ @@ -70,8 +78,10 @@ public class FlatSearchIcon */ - g.setColor( FlatButtonUI.buttonStateColor( c, searchIconColor, searchIconColor, - null, searchIconHoverColor, searchIconPressedColor ) ); + g.setColor( ignoreButtonState + ? searchIconColor + : FlatButtonUI.buttonStateColor( c, searchIconColor, searchIconColor, + null, searchIconHoverColor, searchIconPressedColor ) ); // paint magnifier Area area = new Area( new Ellipse2D.Float( 2, 2, 10, 10 ) );