PasswordField: support disabling Caps Lock warning icon (issue #172)

This commit is contained in:
Karl Tauber
2020-09-17 15:34:57 +02:00
parent 5444719895
commit a53ce99977
7 changed files with 12 additions and 0 deletions

View File

@@ -14,6 +14,7 @@ FlatLaf Change Log
current theme (look and feel).
- Made disabled text color slightly lighter in dark themes for better
readability. (issue #174)
- PasswordField: Support disabling Caps Lock warning icon. (issue #172)
#### Fixed bugs

View File

@@ -60,6 +60,7 @@ import com.formdev.flatlaf.util.HiDPIUtils;
* @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean
* @uiDefault PasswordField.placeholderForeground Color
* @uiDefault PasswordField.showCapsLock boolean
* @uiDefault PasswordField.capsLockIcon Icon
* @uiDefault TextComponent.selectAllOnFocusPolicy String never, once (default) or always
*
@@ -71,6 +72,7 @@ public class FlatPasswordFieldUI
protected int minimumWidth;
protected boolean isIntelliJTheme;
protected Color placeholderForeground;
protected boolean showCapsLock;
protected Icon capsLockIcon;
private FocusListener focusListener;
@@ -88,6 +90,7 @@ public class FlatPasswordFieldUI
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
placeholderForeground = UIManager.getColor( prefix + ".placeholderForeground" );
showCapsLock = UIManager.getBoolean( "PasswordField.showCapsLock" );
capsLockIcon = UIManager.getIcon( "PasswordField.capsLockIcon" );
LookAndFeel.installProperty( getComponent(), "opaque", false );
@@ -160,6 +163,9 @@ public class FlatPasswordFieldUI
}
protected void paintCapsLock( Graphics g ) {
if( !showCapsLock )
return;
JTextComponent c = getComponent();
if( !FlatUIUtils.isPermanentFocusOwner( c ) ||
!Toolkit.getDefaultToolkit().getLockingKeyState( KeyEvent.VK_CAPS_LOCK ) )

View File

@@ -393,6 +393,7 @@ PasswordField.margin=@textComponentMargin
PasswordField.background=@textComponentBackground
PasswordField.placeholderForeground=@disabledText
PasswordField.echoChar=\u2022
PasswordField.showCapsLock=true
PasswordField.capsLockIcon=com.formdev.flatlaf.icons.FlatCapsLockIcon

View File

@@ -652,6 +652,7 @@ PasswordField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI]
PasswordField.placeholderForeground #888888 javax.swing.plaf.ColorUIResource [UI]
PasswordField.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI]
PasswordField.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI]
PasswordField.showCapsLock true
PasswordFieldUI com.formdev.flatlaf.ui.FlatPasswordFieldUI

View File

@@ -657,6 +657,7 @@ PasswordField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI]
PasswordField.placeholderForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI]
PasswordField.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI]
PasswordField.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI]
PasswordField.showCapsLock true
PasswordFieldUI com.formdev.flatlaf.ui.FlatPasswordFieldUI

View File

@@ -649,6 +649,7 @@ PasswordField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI]
PasswordField.placeholderForeground #000088 javax.swing.plaf.ColorUIResource [UI]
PasswordField.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI]
PasswordField.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI]
PasswordField.showCapsLock true
PasswordFieldUI com.formdev.flatlaf.ui.FlatPasswordFieldUI

View File

@@ -452,6 +452,7 @@ PasswordField.margin
PasswordField.placeholderForeground
PasswordField.selectionBackground
PasswordField.selectionForeground
PasswordField.showCapsLock
PasswordFieldUI
Popup.dropShadowColor
Popup.dropShadowInsets