gpt4 book ai didi

java - 如何使用 Java NetBeans 打乱图像

转载 作者:行者123 更新时间:2023-12-01 16:24:34 29 4
gpt4 key购买 nike

所以,我设计了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);
  1. 首先将图标添加到每个 JLabel
  2. 然后将图标添加到 ArrayList
  3. 然后对 ArrayList 进行洗牌

对 ArrayList 进行打乱与添加到 JLabel 中的 Icon 无关,因此当然 Icon 始终会以相同的顺序出现。

如果您希望标签上的图标被打乱,那么您需要在打乱 ArrayList 后将图标添加到标签中。

类似于:

Collections.shuffle(list);
jLabel1.setIcon(list.get(0));
jLabel2.setIcon(list.get(1));
jLabel3.setIcon(list.get(2));

当然,如果您有 12 个标签,您就不想手动编写代码。您还应该将 12 个标签添加到数组(或 ArrayList)中,然后编写一个循环来设置数组中每个标签的图标。

关于java - 如何使用 Java NetBeans 打乱图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62175240/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com