Java 图标类出错,该类仅在web上出现,而不使用aplet viewer
我有一个类可以加载一组图标,我的小程序使用两个这样的数组,一个用于图像,一个用于缩略图。 我有一个动画线程,可以在缩略图数组中旋转一组6个缩略图,还有一个滑块可以滚动缩略图 当我使用applet viewer时,程序运行良好,但是如果我打包applet并在浏览器上查看它,或者如果我将未打包的applet上载到网站上,则缩略图(而不是使用同一类加载的图像)不会显示在屏幕上,并且缩略图附带的功能会变得滞后 我不能保证该网站不会改变,但你可以尝试自己在网站上看到的错误 下面是解决问题的类的代码: 多谢各位Java 图标类出错,该类仅在web上出现,而不使用aplet viewer,java,image,swing,applet,Java,Image,Swing,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 shadowfilepath
;首先要检查的是计算出的路径与实际路径,例如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资源管理器的区别,因为它默认隐藏了已知的文件扩展名。谢谢大家的评论,它帮助我集中了思想,并为我指明了方向我没有想到我自己