我创建了一个程序,以网格布局格式放置随机图像。 网格布局的大小是6 x 6 = 36. 只有10个填充了图像(每个图像都不同),其余都是空的。如何保存文件并阅读
alt text http://freeimagehosting.net/uploads/bfb7e85f63.jpg
我怎样才能将其保存到一个文件,看了一遍,所以它会在网格上显示与相同的位置相同的图像?
这里是我用来保存图片代码:
//image file
String []arrPic = {"pic1.jpg","pic2.jpg","pic3.jpg","pic4.jpg","pic5.jpg","pic6.jpg","pic7.jpg","pic8.jpg","pic9.jpg","pic10.jpg",,"pic11.jpg","pic12.jpg","pic13.jpg"};
ArrayList<String> pictures = new ArrayList<String>(Arrays.asList(arrPic));
ArrayList<String> file = new ArrayList<String>();
JPanel pDraw = new JPanel(new GridLayout(6,6,2,2));
...
//fill all grids with empty label
for (int i =0; i<(6*6); i++){
JLabel lbl = new JLabel("");
pDraw.add(lbl);
}
...
//Choose random box to be filled with images
for(int i=0; i<10; i++){
Boolean number = true;
while(number){
int n = rand.nextInt(35);
if(!(arraylist.contains(n)))
number = false;
arraylist.add(n);
}
//fill the grids with images
for(int i=0; i<arraylist.size(); i++){
//select random image from arraylist
int index = rand.nextInt (pictures.size());
String fileName = (String) pictures.get(index);
//find the image file
icon = createImageIcon(fileName);
//save the file in a new file
file.add(fileName);
//rescaled the image
int x = rand.nextInt(50)+50;
int y = rand.nextInt(50)+50;
Image image = icon.getImage().getScaledInstance(x,y,Image.SCALE_SMOOTH);
icon.setImage(image);
//remove empty label and replace it with an image
int one = (Integer) arraylist.get(i);
pDraw.remove(one);
final JLabel label;
pDraw.add(label,one);
}
我们无法在您的问题中看到图像。尝试改变它链接到http://www.freeimagehosting.net/uploads/bfb7e85f63.jpg – 2010-03-28 12:58:54
对不起。点击“代码”按钮旁边的图片插入按钮,然后将其粘贴到弹出的框中。 – 2010-03-28 13:03:39