RFR: 6513512: MetalLookAndFeel.initClassDefaults does not install an entry for MetalMenuBarUI [v2]
Sergey Bylokhov
serb at openjdk.org
Thu Dec 22 22:31:49 UTC 2022
On Wed, 14 Dec 2022 03:50:54 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> Spec for [MetalLookAndFeel](https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java#L247)
>> says:
>> "...MetalLookAndFeel registers an entry for each of the classes
>> in the package javax.swing.plaf.metal that are named MetalXXXUI.
>> The string XXX is one of Swing's uiClassIDs. For the uiClassIDs
>> that do not have a class in metal, the corresponding class in
>> javax.swing.plaf.basic is used. For example, metal does not
>> have a class named "MetalColorChooserUI", as such,
>> javax.swing.plaf.basic.BasicColorChooserUI is used".
>>
>> There is class MetalMenuBarUI, but the method populates given defaults table with the value
>> "javax.swing.plaf.basic.BasicMenuBarUI".
>>
>> Added entry for MetalMenuBarUI..
>> CI tests including JCK tests are ok.
>
> Prasanta Sadhukhan has updated the pull request incrementally with two additional commits since the last revision:
>
> - Spec update
> - Spec update
src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java line 255:
> 253: * "MetalColorChooserUI"}, as such, {@code
> 254: * javax.swing.plaf.basic.BasicColorChooserUI} is used.
> 255: * Also, class {@code MetalMenuBarUI} is used only for {@code OceanTheme}
Maybe we can make it more generic, like some classes could be used only by some themes and registered only if that theme is "active", for example {@code MetalMenuBarUI} .... etc
-------------
PR: https://git.openjdk.org/jdk/pull/11646
More information about the client-libs-dev
mailing list