2014-06-30 30 views
1

我想将一些图像加载到applet的数组中,我知道必须有更好的方法来做到这一点?将图像加载到Java中的数组中

public class Images extends Applet 
{ 
    Image card[]=new Image[45]; 
    public void init() 
    { 
     img[0]= getImage(getDocumentBase(),"pics/1.gif"); 
     img[1]= getImage(getDocumentBase(),"pics/2.gif"); 
..... 
+0

一个循环,也许? – awksp

+2

要做的最好的事情可能是有一些配置文件列出要加载的图像,并根据配置的需要使用'for-loop'加载每个配置文件 – MadProgrammer

+0

我应该指定图像名称不是都是一样的 - 万一那么重要 – Expecto

回答

4

即使文件名是不可预测的基于数字,你仍然可以有他们的集合。例如:

// Common prefix removed for brevity 
private static final String[] IMAGE_FILES = { 
    "img1.gif", "happy.gif", "sad.gif" /* etc */ 
}; 

然后:

Image[] images = new Image[IMAGE_FILES.length]; 
for (int i = 0; i < images.length; i++) { 
    images[i] = getImage(getDocumentBase(), "pics/" + IMAGE_FILES[i]); 
} 

(有可能是使用的Java 8的λ转化一个阵列到另一个的一个更好的方式 - 我没有检查。)

虽然我不清楚Images这个类是不是一个好主意 - 它听起来并不像你通常创建的实例。我也强烈建议使用私人领域。