mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-16 00:37:11 -06:00
HelpButton: support hover, pressed and focused backgrounds and borders
This commit is contained in:
@@ -221,8 +221,17 @@ public abstract class FlatLaf
|
|||||||
if( value.startsWith( REF_PREFIX ) )
|
if( value.startsWith( REF_PREFIX ) )
|
||||||
value = value.substring( REF_PREFIX.length() );
|
value = value.substring( REF_PREFIX.length() );
|
||||||
|
|
||||||
|
boolean optional = false;
|
||||||
|
if( value.startsWith( "?" ) ) {
|
||||||
|
value = value.substring( 1 );
|
||||||
|
optional = true;
|
||||||
|
}
|
||||||
|
|
||||||
String newValue = properties.getProperty( value );
|
String newValue = properties.getProperty( value );
|
||||||
if( newValue == null ) {
|
if( newValue == null ) {
|
||||||
|
if( optional )
|
||||||
|
return "null";
|
||||||
|
|
||||||
System.err.println( "variable or reference '" + value + "' not found" );
|
System.err.println( "variable or reference '" + value + "' not found" );
|
||||||
throw new IllegalArgumentException( value );
|
throw new IllegalArgumentException( value );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.geom.Ellipse2D;
|
import java.awt.geom.Ellipse2D;
|
||||||
import java.awt.geom.Path2D;
|
import java.awt.geom.Path2D;
|
||||||
import javax.swing.UIManager;
|
import javax.swing.UIManager;
|
||||||
|
import com.formdev.flatlaf.ui.FlatButtonUI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Help button icon for {@link javax.swing.JButton}.
|
* Help button icon for {@link javax.swing.JButton}.
|
||||||
@@ -32,8 +33,12 @@ import javax.swing.UIManager;
|
|||||||
* @uiDefault HelpButton.borderColor Color
|
* @uiDefault HelpButton.borderColor Color
|
||||||
* @uiDefault HelpButton.disabledBorderColor Color
|
* @uiDefault HelpButton.disabledBorderColor Color
|
||||||
* @uiDefault HelpButton.focusedBorderColor Color
|
* @uiDefault HelpButton.focusedBorderColor Color
|
||||||
|
* @uiDefault HelpButton.hoverBorderColor Color optional
|
||||||
* @uiDefault HelpButton.background Color
|
* @uiDefault HelpButton.background Color
|
||||||
* @uiDefault HelpButton.disabledBackground Color
|
* @uiDefault HelpButton.disabledBackground Color
|
||||||
|
* @uiDefault HelpButton.focusedBackground Color optional
|
||||||
|
* @uiDefault HelpButton.hoverBackground Color optional
|
||||||
|
* @uiDefault HelpButton.pressedBackground Color optional
|
||||||
* @uiDefault HelpButton.questionMarkColor Color
|
* @uiDefault HelpButton.questionMarkColor Color
|
||||||
* @uiDefault HelpButton.disabledQuestionMarkColor Color
|
* @uiDefault HelpButton.disabledQuestionMarkColor Color
|
||||||
*
|
*
|
||||||
@@ -48,8 +53,12 @@ public class FlatHelpButtonIcon
|
|||||||
protected final Color borderColor = UIManager.getColor( "HelpButton.borderColor" );
|
protected final Color borderColor = UIManager.getColor( "HelpButton.borderColor" );
|
||||||
protected final Color disabledBorderColor = UIManager.getColor( "HelpButton.disabledBorderColor" );
|
protected final Color disabledBorderColor = UIManager.getColor( "HelpButton.disabledBorderColor" );
|
||||||
protected final Color focusedBorderColor = UIManager.getColor( "HelpButton.focusedBorderColor" );
|
protected final Color focusedBorderColor = UIManager.getColor( "HelpButton.focusedBorderColor" );
|
||||||
|
protected final Color hoverBorderColor = UIManager.getColor( "HelpButton.hoverBorderColor" );
|
||||||
protected final Color background = UIManager.getColor( "HelpButton.background" );
|
protected final Color background = UIManager.getColor( "HelpButton.background" );
|
||||||
protected final Color disabledBackground = UIManager.getColor( "HelpButton.disabledBackground" );
|
protected final Color disabledBackground = UIManager.getColor( "HelpButton.disabledBackground" );
|
||||||
|
protected final Color focusedBackground = UIManager.getColor( "HelpButton.focusedBackground" );
|
||||||
|
protected final Color hoverBackground = UIManager.getColor( "HelpButton.hoverBackground" );
|
||||||
|
protected final Color pressedBackground = UIManager.getColor( "HelpButton.pressedBackground" );
|
||||||
protected final Color questionMarkColor = UIManager.getColor( "HelpButton.questionMarkColor" );
|
protected final Color questionMarkColor = UIManager.getColor( "HelpButton.questionMarkColor" );
|
||||||
protected final Color disabledQuestionMarkColor = UIManager.getColor( "HelpButton.disabledQuestionMarkColor" );
|
protected final Color disabledQuestionMarkColor = UIManager.getColor( "HelpButton.disabledQuestionMarkColor" );
|
||||||
|
|
||||||
@@ -81,15 +90,21 @@ public class FlatHelpButtonIcon
|
|||||||
}
|
}
|
||||||
|
|
||||||
// paint border
|
// paint border
|
||||||
g2.setColor( enabled
|
g2.setColor( FlatButtonUI.buttonStateColor( c,
|
||||||
? (focused ? focusedBorderColor : borderColor)
|
borderColor,
|
||||||
: disabledBorderColor );
|
disabledBorderColor,
|
||||||
|
focusedBorderColor,
|
||||||
|
hoverBorderColor,
|
||||||
|
null ) );
|
||||||
g2.fill( new Ellipse2D.Float( focusWidth + 0.5f, focusWidth + 0.5f, 21, 21 ) );
|
g2.fill( new Ellipse2D.Float( focusWidth + 0.5f, focusWidth + 0.5f, 21, 21 ) );
|
||||||
|
|
||||||
// paint background
|
// paint background
|
||||||
g2.setColor( enabled
|
g2.setColor( FlatButtonUI.buttonStateColor( c,
|
||||||
? background
|
background,
|
||||||
: disabledBackground );
|
disabledBackground,
|
||||||
|
focusedBackground,
|
||||||
|
hoverBackground,
|
||||||
|
pressedBackground ) );
|
||||||
g2.fill( new Ellipse2D.Float( focusWidth + 1.5f, focusWidth + 1.5f, 19, 19 ) );
|
g2.fill( new Ellipse2D.Float( focusWidth + 1.5f, focusWidth + 1.5f, 19, 19 ) );
|
||||||
|
|
||||||
// paint question mark
|
// paint question mark
|
||||||
|
|||||||
@@ -149,8 +149,12 @@ HelpButton.icon=com.formdev.flatlaf.icons.FlatHelpButtonIcon
|
|||||||
HelpButton.borderColor=@@CheckBox.icon.borderColor
|
HelpButton.borderColor=@@CheckBox.icon.borderColor
|
||||||
HelpButton.disabledBorderColor=@@CheckBox.icon.disabledBorderColor
|
HelpButton.disabledBorderColor=@@CheckBox.icon.disabledBorderColor
|
||||||
HelpButton.focusedBorderColor=@@CheckBox.icon.focusedBorderColor
|
HelpButton.focusedBorderColor=@@CheckBox.icon.focusedBorderColor
|
||||||
|
HelpButton.hoverBorderColor=@@?CheckBox.icon.hoverBorderColor
|
||||||
HelpButton.background=@@CheckBox.icon.background
|
HelpButton.background=@@CheckBox.icon.background
|
||||||
HelpButton.disabledBackground=@@CheckBox.icon.disabledBackground
|
HelpButton.disabledBackground=@@CheckBox.icon.disabledBackground
|
||||||
|
HelpButton.focusedBackground=@@?CheckBox.icon.focusedBackground
|
||||||
|
HelpButton.hoverBackground=@@?CheckBox.icon.hoverBackground
|
||||||
|
HelpButton.pressedBackground=@@?CheckBox.icon.pressedBackground
|
||||||
HelpButton.questionMarkColor=@@CheckBox.icon.checkmarkColor
|
HelpButton.questionMarkColor=@@CheckBox.icon.checkmarkColor
|
||||||
HelpButton.disabledQuestionMarkColor=@@CheckBox.icon.disabledCheckmarkColor
|
HelpButton.disabledQuestionMarkColor=@@CheckBox.icon.disabledCheckmarkColor
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user