我有一个使用NetBeans构建的小程序,称为AKApplet。它在IDE中运行良好,但是当我将其放在网页中时,会引发以下错误:

Exception in thread "Thread-15" java.lang.NoClassDefFoundError: AKApplet$2
    at AKApplet.run(AKApplet.java:675)

小程序使用run()方法在后台加载一些数据,同时保持UI响应。很标准的东西。在第675行,数据加载后,我尝试使用invokeLater()更新UI组件:
public void run() {

    // ... data loads ...

    // line 675:
    javax.swing.SwingUtilities.invokeLater(new Runnable() {

        public void run() {
            userMessages.setText("Data loaded.");
            panelList.setVisible(true);
            validate();
            }
    });

}

我要更新的组件是userMessages,JLabel和panelList(它是一个面板)。我不认为这已经走得太远了。

有人知道会发生什么吗?此时,小程序已加载,并且可以看到和更新了组件等。

最佳答案

确保不仅要部署AKApplet.class,而且还要部署AKApplet$1.classAKApplet$2.class等。

关于java - Java Applet中的NoClassDefFoundError在invokeLater()上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3771537/

10-10 18:10