java.lang.NoClassDefFoundError: солнце / свинг / плаф / синтезатор / SynthUI
Я использую Seaglass Look and Feel для своего кода Java Swings. Но я продолжаю получать эту ошибку.
Exception in thread "main" java.lang.NoClassDefFoundError: sun/swing/plaf/synth/SynthUI
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:278)
at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1873)
at javax.swing.UIDefaults.getUIClass(UIDefaults.java:686)
at javax.swing.UIDefaults.getUI(UIDefaults.java:758)
at javax.swing.UIManager.getUI(UIManager.java:1013)
at javax.swing.JRootPane.updateUI(JRootPane.java:483)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1230)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1245)
at javax.swing.SwingUtilities.updateComponentTreeUI(SwingUtilities.java:1221)
at jsupport.lookandfeel.LookAndFeel.changeLookandFeel(LookAndFeel.java:246)
at jsupport.lookandfeel.LookAndFeel.<init>(LookAndFeel.java:22)
at jsupport.lookandfeel.Main.main(Main.java:11)
Caused by: java.lang.ClassNotFoundException: sun.swing.plaf.synth.SynthUI
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 25 more
Я провел небольшое исследование и обнаружил, что Seaglass не работает с Java 7 (моя текущая версия) и, следовательно, проблема. Но я ищу способ заставить его работать, или если у кого-то есть демоверсия, которая прекрасно работает с версией Java 7, это было бы очень полезно.
Мой код:
private void changeLookandFeel() {
try {
UIManager.removeAuxiliaryLookAndFeel(UIManager.getLookAndFeel());
SyntheticaLookAndFeel.setWindowsDecorated(false);
UIManager.setLookAndFeel(UIMANAGER_STRING);
UIManager.setLookAndFeel("de.javasoft.plaf.synthetica.SyntheticaBlueIceLookAndFeel");
for (int i = 0; i < LookAndFeel.getFrames().length; ++i) {
SwingUtilities.updateComponentTreeUI(LookAndFeel.getFrames()[i]);
SwingUtilities.updateComponentTreeUI(this);
}
SwingUtilities.updateComponentTreeUI(this);
} catch (Exception ex) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
UIManager.setLookAndFeel("de.javasoft.plaf.synthetica.SyntheticaBlackEyeLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
}