RFR: 6852577: Only for Nimbus LAF UIManager.get("PasswordField.echoChar") is null [v3]
Prasanta Sadhukhan
psadhukhan at openjdk.org
Fri Sep 9 04:38:44 UTC 2022
On Fri, 9 Sep 2022 04:21:59 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> 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.
>
> It will have the problem as you mentioned so I did it as it is. Since we have already UIDefaults table defined, I think it can be used for this, without changing the doc which might cause compatibility issues.
it will also probably need change in compiler as to how it generates/parses the type as I am getting
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "build.tools.generatenimbus.UIProperty$PropertyType.ordinal()" because "this.type" is null
at build.tools.generatenimbus.UIProperty.write(UIProperty.java:87)
at build.tools.generatenimbus.UIStyle.write(UIStyle.java:156)
at build.tools.generatenimbus.UIRegion.write(UIRegion.java:213)
at build.tools.generatenimbus.SynthModel.write(SynthModel.java:102)
at build.tools.generatenimbus.Generator.generate(Generator.java:212)
at build.tools.generatenimbus.Generator.main(Generator.java:118)
so I think this is the safer and cleaner alternative as I am not creating a new UIDefaults table, just adding a new entry to it..
-------------
PR: https://git.openjdk.org/jdk/pull/10035
More information about the client-libs-dev
mailing list