[英]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.