java.lang.NoClassDefFoundError : Could not initialize class javax. swing.UIManager

标签 java swing noclassdeffounderror uimanager

我遇到过这个错误,有人知道这是为什么吗? Java版本:1.6.0_16

java.lang.NoClassDefFoundError: Could not initialize class javax.swing.UIManager
    at javax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:191)
    at ilog.views.chart.IlvChart.updateUI(Unknown Source)

并打印出另一个错误:

java.lang.UnsatisfiedLinkError: shell32.dll: Cannot load shell32.dll from system directories.
    at sun.awt.windows.WDesktopProperties.init(Native Method)
    at sun.awt.windows.WDesktopProperties.<init>(WDesktopProperties.java:66)
    at sun.awt.windows.WToolkit.lazilyInitWProps(WToolkit.java:817)
    at sun.awt.windows.WToolkit.lazilyLoadDesktopProperty(WToolkit.java:807)
    at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1759)
    at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1740)
    at javax.swing.UIManager.<clinit>(UIManager.java:357)
    at javax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:191)
    at ilog.views.chart.IlvChart.updateUI(Unknown Source)

他们有什么深层次的关系吗?

最佳答案

假设您在 Windows 上运行,shell32.dll 应该在您的 system32 文件夹中,例如c:\Windows\System32\shell32.dll

如果没有它,您似乎不太可能运行 Windows...也许您的 JDK/JRE 不知何故已损坏?也许注册表项误入歧途?可能值得只重新安装 JDK/JRE - 如果您使用的是 64 位机器,请确保安装 64 位版本。虽然我希望 32 位版本也能正常工作(就像 64 位 Windows 上的任何其他 32 位应用程序一样),但几乎可以想象它会导致此类问题。

关于java.lang.NoClassDefFoundError : Could not initialize class javax. swing.UIManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6840087/

相关文章:

java - 在 firebase 中上传后,保存在数据库中的图像链接不起作用

java - 某些计数器

java - 除非那些内部类也被声明为静态,否则我们不能在 [public] 内部类中声明静态方法的确切原因是什么?azi

java - 在java中实现复制/粘贴操作

java - 来自 cmdline 的 Junit - java.lang.ClassNotFoundException

java - 使用键、值对实现 MaxHeap

java - 线程 "main"java.lang.NoClassDefFoundError : wrong name 中的异常

java - 我应该使用什么 java 验证库?

java - 排列多个不同高度的 JPanel

java - 只执行一个 SwingWorker 实例