RFR: 6852577: Only for Nimbus LAF UIManager.get("PasswordField.echoChar") is null [v3]

Sergey Bylokhov serb at openjdk.org
Thu Sep 8 23:44:41 UTC 2022


On Thu, 8 Sep 2022 05:17:10 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

>> src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java line 731:
>> 
>>> 729:                   });
>>> 730: 
>>> 731:         table.put("PasswordField.echoChar", '*');
>> 
>> It is still unclear where this "*" was stored before(will we ignore it now?), since the Nimbus used that symbol already.
>
> "*" is the default char unless overridden by echoChar property and is set [here](https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/javax/swing/JPasswordField.java#L178)

I just found my comment at that bug that the ui properties for nimbus are stored in the "skin.laf" and the "echoChar" is missed there. This is the reason why the UIDefaults table is small in Nimbus, unlike Metal where we have a long list of properties. Take a look to the `NimbusDefaults.java` which is generated during the build it contains all the props, and it is a place where I think we should update the echoChar.

-------------

PR: https://git.openjdk.org/jdk/pull/10035



More information about the client-libs-dev mailing list