如何处理Java 11中丢失的Swing PLAF类



由于某些原因,我们使用了com.sun.java.swing.plaf.windows.WindowsComboBoxUI类,该类在Windows/Linux/Mac操作系统平台上使用Java 5.0到Java 8.0

从Java 10和Java 11开始(我们将坚持使用LTS(,这个类对类加载器不可见:

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

我们怎样才能让它发挥作用?

我们能够用javax.swing.plaf.basic.BasicComboBoxUI替换代码中的com.sun.java.swing.plaf.windows.WindowsComboBoxUI,而且它似乎工作正常。

最新更新