我創建了一個程序,以網格佈局格式放置隨機圖像。 網格佈局的大小是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