0

我尝试制作记忆卡游戏...

有没有办法在 JFrame 窗口随机添加(标签)?

我使用 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"; 

对不起我的英语!:)

4

1 回答 1

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]);
于 2012-12-14T21:31:13.873 回答