Button and ToggleButton: added more missing border colors for selected states (issue #848)

This commit is contained in:
Karl Tauber
2024-05-31 10:41:33 +02:00
parent 13fbaf1f74
commit f05df0db0a
7 changed files with 37 additions and 3 deletions

View File

@@ -43,8 +43,12 @@ import com.formdev.flatlaf.util.UIScale;
* @uiDefault Button.focusedBorderColor Color * @uiDefault Button.focusedBorderColor Color
* @uiDefault Button.hoverBorderColor Color optional * @uiDefault Button.hoverBorderColor Color optional
* @uiDefault Button.pressedBorderColor Color optional * @uiDefault Button.pressedBorderColor Color optional
*
* @uiDefault Button.selectedBorderColor Color optional * @uiDefault Button.selectedBorderColor Color optional
* @uiDefault Button.disabledSelectedBorderColor Color optional * @uiDefault Button.disabledSelectedBorderColor Color optional
* @uiDefault Button.focusedSelectedBorderColor Color optional
* @uiDefault Button.hoverSelectedBorderColor Color optional
* @uiDefault Button.pressedSelectedBorderColor Color optional
* *
* @uiDefault Button.default.borderWidth int or float * @uiDefault Button.default.borderWidth int or float
* @uiDefault Button.default.borderColor Color * @uiDefault Button.default.borderColor Color
@@ -70,8 +74,12 @@ public class FlatButtonBorder
protected Color endBorderColor = UIManager.getColor( "Button.endBorderColor" ); protected Color endBorderColor = UIManager.getColor( "Button.endBorderColor" );
@Styleable protected Color hoverBorderColor = UIManager.getColor( "Button.hoverBorderColor" ); @Styleable protected Color hoverBorderColor = UIManager.getColor( "Button.hoverBorderColor" );
/** @since 3.5 */ @Styleable protected Color pressedBorderColor = UIManager.getColor( "Button.pressedBorderColor" ); /** @since 3.5 */ @Styleable protected Color pressedBorderColor = UIManager.getColor( "Button.pressedBorderColor" );
/** @since 3.5 */ @Styleable protected Color selectedBorderColor = UIManager.getColor( "Button.selectedBorderColor" ); /** @since 3.5 */ @Styleable protected Color selectedBorderColor = UIManager.getColor( "Button.selectedBorderColor" );
/** @since 3.5 */ @Styleable protected Color disabledSelectedBorderColor = UIManager.getColor( "Button.disabledSelectedBorderColor" ); /** @since 3.5 */ @Styleable protected Color disabledSelectedBorderColor = UIManager.getColor( "Button.disabledSelectedBorderColor" );
/** @since 3.5 */ @Styleable protected Color focusedSelectedBorderColor = UIManager.getColor( "Button.focusedSelectedBorderColor" );
/** @since 3.5 */ @Styleable protected Color hoverSelectedBorderColor = UIManager.getColor( "Button.hoverSelectedBorderColor" );
/** @since 3.5 */ @Styleable protected Color pressedSelectedBorderColor = UIManager.getColor( "Button.pressedSelectedBorderColor" );
@Styleable(dot=true) protected float defaultBorderWidth = FlatUIUtils.getUIFloat( "Button.default.borderWidth", 1 ); @Styleable(dot=true) protected float defaultBorderWidth = FlatUIUtils.getUIFloat( "Button.default.borderWidth", 1 );
@Styleable(dot=true) protected Color defaultBorderColor = FlatUIUtils.getUIColor( "Button.default.startBorderColor", "Button.default.borderColor" ); @Styleable(dot=true) protected Color defaultBorderColor = FlatUIUtils.getUIColor( "Button.default.startBorderColor", "Button.default.borderColor" );
@@ -151,9 +159,9 @@ public class FlatButtonBorder
Paint color = FlatButtonUI.buttonStateColor( c, Paint color = FlatButtonUI.buttonStateColor( c,
def ? defaultBorderColor : ((selected && selectedBorderColor != null) ? selectedBorderColor : borderColor), def ? defaultBorderColor : ((selected && selectedBorderColor != null) ? selectedBorderColor : borderColor),
(selected && disabledSelectedBorderColor != null) ? disabledSelectedBorderColor : disabledBorderColor, (selected && disabledSelectedBorderColor != null) ? disabledSelectedBorderColor : disabledBorderColor,
def ? defaultFocusedBorderColor : focusedBorderColor, def ? defaultFocusedBorderColor : ((selected && focusedSelectedBorderColor != null) ? focusedSelectedBorderColor : focusedBorderColor),
def ? defaultHoverBorderColor : hoverBorderColor, def ? defaultHoverBorderColor : ((selected && hoverSelectedBorderColor != null) ? hoverSelectedBorderColor : hoverBorderColor),
def ? defaultPressedBorderColor : pressedBorderColor ); def ? defaultPressedBorderColor : ((selected && pressedSelectedBorderColor != null) ? pressedSelectedBorderColor : pressedBorderColor) );
// change to gradient paint if start/end colors are specified // change to gradient paint if start/end colors are specified
Color startBg = def ? defaultBorderColor : borderColor; Color startBg = def ? defaultBorderColor : borderColor;

View File

@@ -995,8 +995,12 @@ public class TestFlatStyleableInfo
"focusedBorderColor", Color.class, "focusedBorderColor", Color.class,
"hoverBorderColor", Color.class, "hoverBorderColor", Color.class,
"pressedBorderColor", Color.class, "pressedBorderColor", Color.class,
"selectedBorderColor", Color.class, "selectedBorderColor", Color.class,
"disabledSelectedBorderColor", Color.class, "disabledSelectedBorderColor", Color.class,
"focusedSelectedBorderColor", Color.class,
"hoverSelectedBorderColor", Color.class,
"pressedSelectedBorderColor", Color.class,
"default.borderWidth", float.class, "default.borderWidth", float.class,
"default.borderColor", Color.class, "default.borderColor", Color.class,

View File

@@ -957,8 +957,12 @@ public class TestFlatStyleableValue
testColor( c, ui, "focusedBorderColor", 0x123456 ); testColor( c, ui, "focusedBorderColor", 0x123456 );
testColor( c, ui, "hoverBorderColor", 0x123456 ); testColor( c, ui, "hoverBorderColor", 0x123456 );
testColor( c, ui, "pressedBorderColor", 0x123456 ); testColor( c, ui, "pressedBorderColor", 0x123456 );
testColor( c, ui, "selectedBorderColor", 0x123456 ); testColor( c, ui, "selectedBorderColor", 0x123456 );
testColor( c, ui, "disabledSelectedBorderColor", 0x123456 ); testColor( c, ui, "disabledSelectedBorderColor", 0x123456 );
testColor( c, ui, "focusedSelectedBorderColor", 0x123456 );
testColor( c, ui, "hoverSelectedBorderColor", 0x123456 );
testColor( c, ui, "pressedSelectedBorderColor", 0x123456 );
testFloat( c, ui, "default.borderWidth", 1.23f ); testFloat( c, ui, "default.borderWidth", 1.23f );
testColor( c, ui, "default.borderColor", 0x123456 ); testColor( c, ui, "default.borderColor", 0x123456 );
@@ -1031,8 +1035,12 @@ public class TestFlatStyleableValue
testValue( border, "focusedBorderColor", Color.WHITE ); testValue( border, "focusedBorderColor", Color.WHITE );
testValue( border, "hoverBorderColor", Color.WHITE ); testValue( border, "hoverBorderColor", Color.WHITE );
testValue( border, "pressedBorderColor", Color.WHITE ); testValue( border, "pressedBorderColor", Color.WHITE );
testValue( border, "selectedBorderColor", Color.WHITE ); testValue( border, "selectedBorderColor", Color.WHITE );
testValue( border, "disabledSelectedBorderColor", Color.WHITE ); testValue( border, "disabledSelectedBorderColor", Color.WHITE );
testValue( border, "focusedSelectedBorderColor", Color.WHITE );
testValue( border, "hoverSelectedBorderColor", Color.WHITE );
testValue( border, "pressedSelectedBorderColor", Color.WHITE );
testValue( border, "default.borderWidth", 2f ); testValue( border, "default.borderWidth", 2f );
testValue( border, "default.borderColor", Color.WHITE ); testValue( border, "default.borderColor", Color.WHITE );

View File

@@ -1296,8 +1296,12 @@ public class TestFlatStyling
border.applyStyleProperty( "focusedBorderColor", Color.WHITE ); border.applyStyleProperty( "focusedBorderColor", Color.WHITE );
border.applyStyleProperty( "hoverBorderColor", Color.WHITE ); border.applyStyleProperty( "hoverBorderColor", Color.WHITE );
border.applyStyleProperty( "pressedBorderColor", Color.WHITE ); border.applyStyleProperty( "pressedBorderColor", Color.WHITE );
border.applyStyleProperty( "selectedBorderColor", Color.WHITE ); border.applyStyleProperty( "selectedBorderColor", Color.WHITE );
border.applyStyleProperty( "disabledSelectedBorderColor", Color.WHITE ); border.applyStyleProperty( "disabledSelectedBorderColor", Color.WHITE );
border.applyStyleProperty( "focusedSelectedBorderColor", Color.WHITE );
border.applyStyleProperty( "hoverSelectedBorderColor", Color.WHITE );
border.applyStyleProperty( "pressedSelectedBorderColor", Color.WHITE );
border.applyStyleProperty( "default.borderWidth", 2 ); border.applyStyleProperty( "default.borderWidth", 2 );
border.applyStyleProperty( "default.borderColor", Color.WHITE ); border.applyStyleProperty( "default.borderColor", Color.WHITE );

View File

@@ -96,12 +96,14 @@ Button.endBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.Colo
Button.focusedBackground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] Button.focusedBackground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI]
Button.focusedBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] Button.focusedBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI]
Button.focusedForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] Button.focusedForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI]
Button.focusedSelectedBorderColor #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI]
Button.font [active] $defaultFont [UI] Button.font [active] $defaultFont [UI]
Button.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] Button.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI]
Button.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Button.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI]
Button.hoverBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] Button.hoverBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI]
Button.hoverBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] Button.hoverBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI]
Button.hoverForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] Button.hoverForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI]
Button.hoverSelectedBorderColor #aaaaaa HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI]
Button.iconTextGap 4 Button.iconTextGap 4
Button.innerFocusWidth 1 Button.innerFocusWidth 1
Button.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] Button.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI]
@@ -110,6 +112,7 @@ Button.minimumWidth 72
Button.pressedBackground #ffc800 HSL 47 100 50 javax.swing.plaf.ColorUIResource [UI] Button.pressedBackground #ffc800 HSL 47 100 50 javax.swing.plaf.ColorUIResource [UI]
Button.pressedBorderColor #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] Button.pressedBorderColor #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI]
Button.pressedForeground #0080ff HSL 210 100 50 javax.swing.plaf.ColorUIResource [UI] Button.pressedForeground #0080ff HSL 210 100 50 javax.swing.plaf.ColorUIResource [UI]
Button.pressedSelectedBorderColor #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI]
Button.rollover true Button.rollover true
Button.selectedBackground #ffbbbb HSL 0 100 87 javax.swing.plaf.ColorUIResource [UI] Button.selectedBackground #ffbbbb HSL 0 100 87 javax.swing.plaf.ColorUIResource [UI]
Button.selectedBorderColor #ff00ff HSL 300 100 50 javax.swing.plaf.ColorUIResource [UI] Button.selectedBorderColor #ff00ff HSL 300 100 50 javax.swing.plaf.ColorUIResource [UI]

View File

@@ -95,8 +95,12 @@ Button.disabledBorderColor = #008
Button.focusedBorderColor = #466d94 Button.focusedBorderColor = #466d94
Button.hoverBorderColor = #f00 Button.hoverBorderColor = #f00
Button.pressedBorderColor = #0ff Button.pressedBorderColor = #0ff
Button.selectedBorderColor = #f0f Button.selectedBorderColor = #f0f
Button.disabledSelectedBorderColor = #ff0 Button.disabledSelectedBorderColor = #ff0
Button.focusedSelectedBorderColor = #fff
Button.hoverSelectedBorderColor = #aaa
Button.pressedSelectedBorderColor = #888
Button.innerFocusWidth = 1 Button.innerFocusWidth = 1

View File

@@ -47,12 +47,14 @@ Button.focusInputMap
Button.focusedBackground Button.focusedBackground
Button.focusedBorderColor Button.focusedBorderColor
Button.focusedForeground Button.focusedForeground
Button.focusedSelectedBorderColor
Button.font Button.font
Button.foreground Button.foreground
Button.highlight Button.highlight
Button.hoverBackground Button.hoverBackground
Button.hoverBorderColor Button.hoverBorderColor
Button.hoverForeground Button.hoverForeground
Button.hoverSelectedBorderColor
Button.iconTextGap Button.iconTextGap
Button.innerFocusWidth Button.innerFocusWidth
Button.light Button.light
@@ -61,6 +63,7 @@ Button.minimumWidth
Button.pressedBackground Button.pressedBackground
Button.pressedBorderColor Button.pressedBorderColor
Button.pressedForeground Button.pressedForeground
Button.pressedSelectedBorderColor
Button.rollover Button.rollover
Button.selectedBackground Button.selectedBackground
Button.selectedBorderColor Button.selectedBorderColor