Skip to content

Commit

Permalink
Button and ToggleButton: added more missing border colors for selecte…
Browse files Browse the repository at this point in the history
…d states (issue #848)
  • Loading branch information
DevCharly committed May 31, 2024
1 parent 13fbaf1 commit f05df0d
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,12 @@
* @uiDefault Button.focusedBorderColor Color
* @uiDefault Button.hoverBorderColor Color optional
* @uiDefault Button.pressedBorderColor Color optional
*
* @uiDefault Button.selectedBorderColor 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.borderColor Color
Expand All @@ -70,8 +74,12 @@ public class FlatButtonBorder
protected Color endBorderColor = UIManager.getColor( "Button.endBorderColor" );
@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 selectedBorderColor = UIManager.getColor( "Button.selectedBorderColor" );
/** @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 Color defaultBorderColor = FlatUIUtils.getUIColor( "Button.default.startBorderColor", "Button.default.borderColor" );
Expand Down Expand Up @@ -151,9 +159,9 @@ protected Paint getBorderColor( Component c ) {
Paint color = FlatButtonUI.buttonStateColor( c,
def ? defaultBorderColor : ((selected && selectedBorderColor != null) ? selectedBorderColor : borderColor),
(selected && disabledSelectedBorderColor != null) ? disabledSelectedBorderColor : disabledBorderColor,
def ? defaultFocusedBorderColor : focusedBorderColor,
def ? defaultHoverBorderColor : hoverBorderColor,
def ? defaultPressedBorderColor : pressedBorderColor );
def ? defaultFocusedBorderColor : ((selected && focusedSelectedBorderColor != null) ? focusedSelectedBorderColor : focusedBorderColor),
def ? defaultHoverBorderColor : ((selected && hoverSelectedBorderColor != null) ? hoverSelectedBorderColor : hoverBorderColor),
def ? defaultPressedBorderColor : ((selected && pressedSelectedBorderColor != null) ? pressedSelectedBorderColor : pressedBorderColor) );

// change to gradient paint if start/end colors are specified
Color startBg = def ? defaultBorderColor : borderColor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -995,8 +995,12 @@ private void flatButtonBorder( Map<String, Class<?>> expected ) {
"focusedBorderColor", Color.class,
"hoverBorderColor", Color.class,
"pressedBorderColor", Color.class,

"selectedBorderColor", Color.class,
"disabledSelectedBorderColor", Color.class,
"focusedSelectedBorderColor", Color.class,
"hoverSelectedBorderColor", Color.class,
"pressedSelectedBorderColor", Color.class,

"default.borderWidth", float.class,
"default.borderColor", Color.class,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -957,8 +957,12 @@ private void flatButtonBorder( JComponent c, StyleableUI ui ) {
testColor( c, ui, "focusedBorderColor", 0x123456 );
testColor( c, ui, "hoverBorderColor", 0x123456 );
testColor( c, ui, "pressedBorderColor", 0x123456 );

testColor( c, ui, "selectedBorderColor", 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 );
testColor( c, ui, "default.borderColor", 0x123456 );
Expand Down Expand Up @@ -1031,8 +1035,12 @@ void flatButtonBorder() {
testValue( border, "focusedBorderColor", Color.WHITE );
testValue( border, "hoverBorderColor", Color.WHITE );
testValue( border, "pressedBorderColor", Color.WHITE );

testValue( border, "selectedBorderColor", 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.borderColor", Color.WHITE );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1296,8 +1296,12 @@ void flatButtonBorder() {
border.applyStyleProperty( "focusedBorderColor", Color.WHITE );
border.applyStyleProperty( "hoverBorderColor", Color.WHITE );
border.applyStyleProperty( "pressedBorderColor", Color.WHITE );

border.applyStyleProperty( "selectedBorderColor", 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.borderColor", Color.WHITE );
Expand Down
3 changes: 3 additions & 0 deletions flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.focusedBorderColor #466d94 HSL 210 36 43 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.foreground #ff0000 HSL 0 100 50 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.hoverBorderColor #ff0000 HSL 0 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.innerFocusWidth 1
Button.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI]
Expand All @@ -110,6 +112,7 @@ Button.minimumWidth 72
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.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.selectedBackground #ffbbbb HSL 0 100 87 javax.swing.plaf.ColorUIResource [UI]
Button.selectedBorderColor #ff00ff HSL 300 100 50 javax.swing.plaf.ColorUIResource [UI]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,12 @@ Button.disabledBorderColor = #008
Button.focusedBorderColor = #466d94
Button.hoverBorderColor = #f00
Button.pressedBorderColor = #0ff

Button.selectedBorderColor = #f0f
Button.disabledSelectedBorderColor = #ff0
Button.focusedSelectedBorderColor = #fff
Button.hoverSelectedBorderColor = #aaa
Button.pressedSelectedBorderColor = #888

Button.innerFocusWidth = 1

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,14 @@ Button.focusInputMap
Button.focusedBackground
Button.focusedBorderColor
Button.focusedForeground
Button.focusedSelectedBorderColor
Button.font
Button.foreground
Button.highlight
Button.hoverBackground
Button.hoverBorderColor
Button.hoverForeground
Button.hoverSelectedBorderColor
Button.iconTextGap
Button.innerFocusWidth
Button.light
Expand All @@ -61,6 +63,7 @@ Button.minimumWidth
Button.pressedBackground
Button.pressedBorderColor
Button.pressedForeground
Button.pressedSelectedBorderColor
Button.rollover
Button.selectedBackground
Button.selectedBorderColor
Expand Down

0 comments on commit f05df0d

Please sign in to comment.