Bonjour !
Plusieurs nuits que je bloque sur mon projet, je pense qu'il est temps que je demande de l'aide !
Alors, je dois faire un éditeur d'Album Photos en Java.
Ici, je cherche à afficher les images contenues dans un répertoire, le tout dans un JPanel (le code ci dessous). Mais une jolie exception se lève et rien n'apparaît.
Alors si quelqu'un peut m'apporter son aide, je l'accepte volontiers !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 package Interface; import java.awt.Dimension; import java.awt.GridLayout; import java.io.File; import java.util.Vector; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JPanel; public class PanneauImage extends JPanel{ JButton TabImg[]; public PanneauImage(){ this.setSize(500, 500); this.setVisible(true); this.setLayout(new GridLayout()); } //fonction qui me permet de récupérer le chemin de l'arborescence que l'utilisateur a choisi public void setTexte(String chemin){ this.addImg(chemin); } //fonction qui permet de lister les fichiers d'un dossier public Vector listerRepertoire(File repertoire){ String[] liste = repertoire.list(); int t = liste.length; Vector listefichiers = new Vector(); for(int i=0;i<t;i++){ if(liste[i].endsWith(".jpg") || liste[i].endsWith(".png")){ listefichiers.addElement(repertoire.getAbsoluteFile() + liste[i]); } } return listefichiers; } private void addImg(String chemin) { File a = new File(chemin); //listerRepertoire attend un File int taille = listerRepertoire(a).size(); // récupération de la taille du tableau TabImg = new JButton[taille]; // création de mon tableau de JButton qui contiendra les images //String[] tab = listerRepertoire(a); //récupération du tableau contenant les adresses des images for(int i=0;i<taille;i++){ TabImg[i] = new JButton(); TabImg[i].setIcon(new ImageIcon((String)(listerRepertoire(a)).elementAt(i))); //j'assigne une image à chaque JButton TabImg[i].setPreferredSize(new Dimension(100,100)); this.add(TabImg[i]); //et je le rajoute à mon panneau pour l'afficher } } }
Partager