diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a31b47c..b8345fc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ FlatLaf Change Log ================== +## Unreleased + +- Button and ToggleButton: Support disabled background color (use UI values + `Button.disabledBackground` and `ToggleButton.disabledBackground`). (issue + #112) + + ## 0.36 - ScrollBar: Made styling more flexible by supporting insets and arc for track diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java index 132745ce..ec5dd4ea 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java @@ -67,6 +67,7 @@ import com.formdev.flatlaf.util.UIScale; * @uiDefault Button.focusedBackground Color optional * @uiDefault Button.hoverBackground Color optional * @uiDefault Button.pressedBackground Color optional + * @uiDefault Button.disabledBackground Color optional * @uiDefault Button.disabledText Color * @uiDefault Button.default.background Color * @uiDefault Button.default.startBackground Color optional; if set, a gradient paint is used and Button.default.background is ignored @@ -97,6 +98,7 @@ public class FlatButtonUI protected Color focusedBackground; protected Color hoverBackground; protected Color pressedBackground; + protected Color disabledBackground; protected Color disabledText; protected Color defaultBackground; @@ -142,6 +144,7 @@ public class FlatButtonUI focusedBackground = UIManager.getColor( prefix + "focusedBackground" ); hoverBackground = UIManager.getColor( prefix + "hoverBackground" ); pressedBackground = UIManager.getColor( prefix + "pressedBackground" ); + disabledBackground = UIManager.getColor( prefix + "disabledBackground" ); disabledText = UIManager.getColor( prefix + "disabledText" ); if( UIManager.getBoolean( "Button.paintShadow" ) ) { @@ -356,7 +359,7 @@ public class FlatButtonUI protected Color getBackground( JComponent c ) { if( !c.isEnabled() ) - return null; + return disabledBackground; // toolbar button if( isToolBarButton( c ) ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToggleButtonUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToggleButtonUI.java index 2fb12278..6eda8cc0 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToggleButtonUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToggleButtonUI.java @@ -50,6 +50,7 @@ import com.formdev.flatlaf.util.UIScale; * @uiDefault ToggleButton.startBackground Color optional; if set, a gradient paint is used and ToggleButton.background is ignored * @uiDefault ToggleButton.endBackground Color optional; if set, a gradient paint is used * @uiDefault ToggleButton.pressedBackground Color + * @uiDefault ToggleButton.disabledBackground Color optional * @uiDefault ToggleButton.disabledText Color * @uiDefault ToggleButton.toolbar.hoverBackground Color * @uiDefault ToggleButton.toolbar.pressedBackground Color