Java 图标类出错,该类仅在web上出现,而不使用aplet viewer

Java 图标类出错,该类仅在web上出现,而不使用aplet viewer,java,image,swing,applet,Java,Image,Swing,Applet,我有一个类可以加载一组图标,我的小程序使用两个这样的数组,一个用于图像,一个用于缩略图。 我有一个动画线程,可以在缩略图数组中旋转一组6个缩略图,还有一个滑块可以滚动缩略图 当我使用applet viewer时,程序运行良好,但是如果我打包applet并在浏览器上查看它,或者如果我将未打包的applet上载到网站上,则缩略图(而不是使用同一类加载的图像)不会显示在屏幕上,并且缩略图附带的功能会变得滞后 我不能保证该网站不会改变,但你可以尝试自己在网站上看到的错误 下面是解决问题的类的代码: 多谢

我有一个类可以加载一组图标,我的小程序使用两个这样的数组,一个用于图像,一个用于缩略图。 我有一个动画线程,可以在缩略图数组中旋转一组6个缩略图,还有一个滑块可以滚动缩略图

当我使用applet viewer时,程序运行良好,但是如果我打包applet并在浏览器上查看它,或者如果我将未打包的applet上载到网站上,则缩略图(而不是使用同一类加载的图像)不会显示在屏幕上,并且缩略图附带的功能会变得滞后

我不能保证该网站不会改变,但你可以尝试自己在网站上看到的错误

下面是解决问题的类的代码:

多谢各位

    public class IconArray {
    private ImageIcon[] Icons;
    private int Count;
    private String Filepath;

    IconArray(String filepath, int count){
        Count = count;
        Icons = new ImageIcon[Count];
        Filepath = filepath;
    }

    IconArray(String filepath, int count, boolean Autoload){
        Count = count;
        Icons = new ImageIcon[Count];
        Filepath = filepath;
        if(Autoload){
            for(int i = 0; i<Count; i++){
                Icons[i] = new ImageIcon(getClass().getResource(Filepath+i+".jpg"));
            }
        }
    }

    public Icon GetIcon(final int i) throws InterruptedException{
        if(Icons[i]!=null){
          return Icons[i];
          }else{
            Integer temp = new Integer(i);
            Icons[i] = new javax.swing.ImageIcon(getClass().getResource(Filepath+temp.toString()+".jpg"));
            return Icons[i];
        }    
    }

    public int GetCount(){
        return Count;
    }

}
公共类IconArray{
私有图像图标[]图标;
私人整数计数;
私有字符串文件路径;
IconArray(字符串文件路径,整数计数){
计数=计数;
图标=新图像图标[计数];
Filepath=Filepath;
}
IconArray(字符串文件路径、整数计数、布尔自动加载){
计数=计数;
图标=新图像图标[计数];
Filepath=Filepath;
如果(自动加载){

对于(int i=0;i您的小程序似乎由单个类文件组成。您可能希望将图像与类捆绑在一个JAR文件中,如中所示。

您的小程序似乎由单个类文件组成。您可能希望将图像与类捆绑在一个JAR文件中,如中所示。

考虑在一个JAR文件中逐步剪切代码尝试隔离问题。这样一来,要么你会发现错误,要么你会得到一个非常小的可编译且可运行的程序来演示你的问题,你可以在这里发布。你的小程序会引发类版本异常?。@DanglingPiyus:一开始我也这么认为;看起来对类文件的请求正在返回从外观上看,这肯定不是在Applet中应该做的事情。用户不能复制/粘贴来自信息的文本。它根本不兼容搜索引擎。考虑逐步削减代码,试图隔离问题。这样,要么你发现错误,要么你最终得到一个错误。非常小的可编译且可运行的程序,演示了您的问题,您可以在此处发布。您的小程序会引发类版本异常?。@DanglingPiyus:我起初也是这样认为的;看起来类文件的请求正在返回
404
。从外观上看,这绝对不是小程序内部应该做的事情。用户无法从信息中复制/粘贴文本,并且它与搜索引擎完全不兼容。我已根据请求隔离了问题,我还在该网站上找到一些描述类似内容的帖子,但在这种情况下,nullpointer验证立即发生。打包应用程序时,运行时行为没有任何差异et并在浏览器或使用小程序查看器中查看。在这一阶段,图像也是用代码打包的。这是我的代码:看起来
filepath
may shadow
filepath
;首先要检查的是计算出的路径与实际路径,例如
jar tf your.jar
。我发现了错误,IconArray类希望图像的文件结尾是.jpg,而我的缩略图结尾是.jpg,作为Java和web编程的新手,我不知道这会有什么不同,我在windows资源管理器中看不到区别,因为默认情况下它隐藏了已知的文件扩展名,谢谢大家的评论,它帮助我集中精力ts并向我指出了我自己可能没有想到的方向。我已按要求隔离了问题,我还在该网站上找到了一些描述类似内容的帖子,但在这种情况下,nullpointer验证立即发生。打包小程序并在浏览器中查看或使用applet查看器。在这个阶段,图像也是用代码打包的。这是我的代码:它看起来像
文件路径
可以阴影
文件路径
;首先要检查的是计算路径与实际路径,例如
jar tf your.jar
。我发现了错误,IconArray类希望图像具有.jpg as t他以文件结尾,而我的缩略图以.JPG结尾,作为Java和web编程的新手,我不知道这会有什么不同,我也看不到windows资源管理器的区别,因为它默认隐藏了已知的文件扩展名。谢谢大家的评论,它帮助我集中了思想,并为我指明了方向我没有想到我自己