2012-12-14 73 views
0

我试图使存储卡游戏...如何在JFrame中添加(标签)随机?

有没有办法在JFrame窗口中添加(标签)RANDOM?

我用的FlowLayout,我有:

add(l1);add(l2);add(l3);add(l4); 

如果我写了财产以后这样的:

add(l3);add(l4);add(l1);add(l2); 

改变一系列的图像..这就是我想要的......与添加标签不同的位置每次..

如果不是,有没有办法把不同的行(随机)图像放在标签? 我有这样的办法把图片:

imageOfLabel1 = imageOfLabel2 = "im1.jpg"; 
imageOfLabel3 = imageOfLabel4 = "im2.jpg"; 

对不起我的英语! :)

+0

没有你想象的创造'l1','l2','l3'和'l4'数组并添加之前只是将它洗? – nidu

回答

1

我不确定l1,l2,l3和l4的类型是什么。假设它们都是JLabel实例。然后,你可以创建一个数组,将它洗,然后加入:

JLabel[] ls = new JLabel[] {l1, l2, l3, l4}; 

// shuffle 
Random rand = new Random(); 
for (int i = 0; i < ls.length; i++) { 
    int randIndex = rand.nextInt(ls.length); 
    JLabel temp = ls[i]; 
    ls[i] = ls[randIndex]; 
    ls[randIndex] = temp; 
} 

for (int i = 0; i < ls.length; i++) add(ls[i]); 
+0

完美!谢谢!! (我不能投票给你:P) – Dokimi

+0

@Dokimi我不确定,但你可以把它标记为正确的答案。 – nidu

相关问题