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

Sergey Bylokhov serb at openjdk.org
Sat Oct 8 15:57:46 UTC 2022


On Tue, 27 Sep 2022 18:03:41 GMT, Alexey Ivanov <aivanov at openjdk.org> wrote:

>> Properties are **already** being stored in two parts so I am not inventing it for this fix. I am just adding an entry to the already created UIDefaults. Also, as I told, storing a character in skin.laf involves changing the generator tool which might not be scalable and prone to regressions, not to mention what/where should be changed in the tool for this is not known to me.
>> 
>> Also, as Synth is a skinnable look and feel, I think it would have been an issue if the property to be added affects "skin" in anyways, like **color, font, dimension** property etc, in which case it would have made sense to be mandatorily put in skin.laf which is the "visual designer"
>>  but this Password echo character property will not affect the skin in anyway, like the other properties added in UIDefaults table in SynthLookAndFeel, so I think it should be ok.
>
> I agree with @prsadhuk here. The `echoChar` isn't skin, it can be defined directly as is done for other properties.

Most of that "other" properties are specified by the "skin" file for the Nimbus L&F. Take a look to the "NimbusDefaults.java", it has many-many properties which are usually hardcoded in other L&F. Inital idea of the "skin" was the ability to swicth the UI appiarance, the style of "echo" is part of it.

It is of course possible to set/update that field directly by the application, but for the Nimbus L&F default value should be set by the skin.

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

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



More information about the client-libs-dev mailing list