لدىَّ Folder به 6 ملفات " صور ".
ما أريده هو أن أضع على Jlabel صورة عشوائية من ال 6 ملفات .
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
import java.awt.Dimension;
import java.io.File;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class RandomImageTest extends JFrame {
private JPanel panel = null;
private JLabel label = null;
private File[] files;
private File f;
private ImageIcon imageIcon = null;
public RandomImageTest() {
f = new File("C:\\Documents and Settings\\a\\Desktop\\RandomImage\\src\\images");
panel = new JPanel();
File ff = selectRandomFile(f);
imageIcon = new ImageIcon(ff.getName());
label = new JLabel();
label.setIcon((Icon) imageIcon);
panel.add(label);
getContentPane().add(panel);
////////////////////////////////////////////
System.out.println(ff.getName());
}
public static void main(String[] args) {
RandomImageTest randomImageTest = new RandomImageTest();
randomImageTest.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
randomImageTest.setLocationRelativeTo(null);
randomImageTest.setSize(new Dimension(600, 300));
randomImageTest.setVisible(true);
}
private File selectRandomFile(File f) {
files = f.listFiles();
return files[(int) Math.random() * files.length];
}
}المشكلة الأولى : ستجدون الدالة selectRandomFile تقوم بإرجاع ملف بطريقة عشوائية >>>> لكن المشكلة إنها كل مرة ترجع الملف " 4.png " لماذا ؟؟؟!!!!
المشكلة الثانية :
File ff = selectRandomFile(f);
imageIcon = new ImageIcon(ff.getName());فى الشفيرة السابقة : السطر الأول استقبل الملف الشعوائى فى ال ff ثم استعمله فى ال imageIcon ثم أضع ال imageIcon على ال Lebel من خلال :
label.setIcon((Icon) imageIcon);
و لكن الصورة لا تظهر .. لماذا ؟!!
ال code مرفق و ال مجلد src ستجدون به المجلد Imags به الصور المستعملة .
شكراً