[英]How can I shuffling images using Java NetBeans
所以,我设计了 12 个标签和 1 个按钮,我有一个包含 12 个图像的文件夹; 我的问题是每次按下按钮时如何使自动图像从文件夹随机播放到 12 个标签? 一切正常,但图像没有洗牌的问题。 我会非常感谢任何帮助
我使用的代码是:
File file = new File("src/Images");
String[] imageNames = file.list();
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Image im1=new ImageIcon(this.getClass().getResource("/Images/img1.png")).getImage();
ImageIcon iconLogo1 = new ImageIcon(im1);
Image im2=new ImageIcon(this.getClass().getResource("/Images/img2.png")).getImage();
ImageIcon iconLogo2 = new ImageIcon(im2);
Image im3=new ImageIcon(this.getClass().getResource("/Images/img3.png")).getImage();
ImageIcon iconLogo3 = new ImageIcon(im3);
jLabel1.setIcon(iconLogo1);
jLabel2.setIcon(iconLogo2);
jLabel3.setIcon(iconLogo3);
ArrayList <ImageIcon> list= new ArrayList<>();
list.add(iconLogo3);
list.add(iconLogo2);
list.add(iconLogo1);
Collections.shuffle(list);
}
您希望看到什么:
jLabel1.setIcon(iconLogo1);
jLabel2.setIcon(iconLogo2);
jLabel3.setIcon(iconLogo3);
ArrayList <ImageIcon> list= new ArrayList<>();
list.add(iconLogo3);
list.add(iconLogo2);
list.add(iconLogo1);
Collections.shuffle(list);
改组 ArrayList 与添加到 JLabel 的图标无关,因此当然图标将始终以相同的顺序出现。
如果您希望将标签上的图标打乱,则需要在打乱 ArrayList 之后将图标添加到 label。
就像是:
Collections.shuffle(list);
jLabel1.setIcon(list.get(0));
jLabel2.setIcon(list.get(1));
jLabel3.setIcon(list.get(2));
当然,如果您有 12 个标签,您将不想手动编写代码。 您还应该将 12 个标签添加到一个数组(或 ArrayList),然后编写一个循环来设置数组中每个 label 的图标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.