How to handle missing Swing PLAF classes in Java 11?












1















For some reason we use com.sun.java.swing.plaf.windows.WindowsComboBoxUI class which worked on Windows/Linux/Mac OS platforms with Java 5.0 through Java 8.0



Starting with Java 10 and Java 11 (we will stick to it as LTS) this class not visible to classloader:



Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsComboBoxUI
at xxx.YYY.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.windows.WindowsComboBoxUI
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more


How can we get it working?










share|improve this question


















  • 2





    Related reads Internal APIs encapsulation, Add a public API to create a L&F without installation, Inaccessible and unused classes can be removed from java.desktop module

    – nullpointer
    Nov 23 '18 at 7:13






  • 2





    Non-Windows builds no longer include the Windows LAF, see: bugs.openjdk.java.net/browse/JDK-6461834

    – Alan Bateman
    Nov 23 '18 at 7:54
















1















For some reason we use com.sun.java.swing.plaf.windows.WindowsComboBoxUI class which worked on Windows/Linux/Mac OS platforms with Java 5.0 through Java 8.0



Starting with Java 10 and Java 11 (we will stick to it as LTS) this class not visible to classloader:



Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsComboBoxUI
at xxx.YYY.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.windows.WindowsComboBoxUI
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more


How can we get it working?










share|improve this question


















  • 2





    Related reads Internal APIs encapsulation, Add a public API to create a L&F without installation, Inaccessible and unused classes can be removed from java.desktop module

    – nullpointer
    Nov 23 '18 at 7:13






  • 2





    Non-Windows builds no longer include the Windows LAF, see: bugs.openjdk.java.net/browse/JDK-6461834

    – Alan Bateman
    Nov 23 '18 at 7:54














1












1








1


1






For some reason we use com.sun.java.swing.plaf.windows.WindowsComboBoxUI class which worked on Windows/Linux/Mac OS platforms with Java 5.0 through Java 8.0



Starting with Java 10 and Java 11 (we will stick to it as LTS) this class not visible to classloader:



Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsComboBoxUI
at xxx.YYY.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.windows.WindowsComboBoxUI
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more


How can we get it working?










share|improve this question














For some reason we use com.sun.java.swing.plaf.windows.WindowsComboBoxUI class which worked on Windows/Linux/Mac OS platforms with Java 5.0 through Java 8.0



Starting with Java 10 and Java 11 (we will stick to it as LTS) this class not visible to classloader:



Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsComboBoxUI
at xxx.YYY.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.windows.WindowsComboBoxUI
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more


How can we get it working?







java swing look-and-feel java-10 java-11






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 '18 at 19:40









Barat SahdzijeuBarat Sahdzijeu

386316




386316








  • 2





    Related reads Internal APIs encapsulation, Add a public API to create a L&F without installation, Inaccessible and unused classes can be removed from java.desktop module

    – nullpointer
    Nov 23 '18 at 7:13






  • 2





    Non-Windows builds no longer include the Windows LAF, see: bugs.openjdk.java.net/browse/JDK-6461834

    – Alan Bateman
    Nov 23 '18 at 7:54














  • 2





    Related reads Internal APIs encapsulation, Add a public API to create a L&F without installation, Inaccessible and unused classes can be removed from java.desktop module

    – nullpointer
    Nov 23 '18 at 7:13






  • 2





    Non-Windows builds no longer include the Windows LAF, see: bugs.openjdk.java.net/browse/JDK-6461834

    – Alan Bateman
    Nov 23 '18 at 7:54








2




2





Related reads Internal APIs encapsulation, Add a public API to create a L&F without installation, Inaccessible and unused classes can be removed from java.desktop module

– nullpointer
Nov 23 '18 at 7:13





Related reads Internal APIs encapsulation, Add a public API to create a L&F without installation, Inaccessible and unused classes can be removed from java.desktop module

– nullpointer
Nov 23 '18 at 7:13




2




2





Non-Windows builds no longer include the Windows LAF, see: bugs.openjdk.java.net/browse/JDK-6461834

– Alan Bateman
Nov 23 '18 at 7:54





Non-Windows builds no longer include the Windows LAF, see: bugs.openjdk.java.net/browse/JDK-6461834

– Alan Bateman
Nov 23 '18 at 7:54












1 Answer
1






active

oldest

votes


















1














We were able to replace com.sun.java.swing.plaf.windows.WindowsComboBoxUI in the code with javax.swing.plaf.basic.BasicComboBoxUI and it seems working fine.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53437209%2fhow-to-handle-missing-swing-plaf-classes-in-java-11%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    We were able to replace com.sun.java.swing.plaf.windows.WindowsComboBoxUI in the code with javax.swing.plaf.basic.BasicComboBoxUI and it seems working fine.






    share|improve this answer




























      1














      We were able to replace com.sun.java.swing.plaf.windows.WindowsComboBoxUI in the code with javax.swing.plaf.basic.BasicComboBoxUI and it seems working fine.






      share|improve this answer


























        1












        1








        1







        We were able to replace com.sun.java.swing.plaf.windows.WindowsComboBoxUI in the code with javax.swing.plaf.basic.BasicComboBoxUI and it seems working fine.






        share|improve this answer













        We were able to replace com.sun.java.swing.plaf.windows.WindowsComboBoxUI in the code with javax.swing.plaf.basic.BasicComboBoxUI and it seems working fine.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 26 '18 at 10:13









        Barat SahdzijeuBarat Sahdzijeu

        386316




        386316






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53437209%2fhow-to-handle-missing-swing-plaf-classes-in-java-11%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Ottavio Pratesi

            Tricia Helfer

            15 giugno