Ajouter JLabel avec image JList pour afficher toutes les images
Voici mon code. Il ne montre pas les images dans le cadre et montre plutôt que du texte. quelqu'un merci de me suggérer que ce changement que je devrais le faire dans le code pour qu'il me permet d'afficher les images dans une image?
import java.awt.Component;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.DefaultListModel;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
public class ListView {
public static void main(String[] args) throws IOException {
JFrame frame=new JFrame();
frame.setSize(500,500);
JLabel lbl[] = new JLabel[10];
DefaultListModel listModel;
ImageIcon[] b = new ImageIcon[10];
//JList lsm=new JList();
listModel = new DefaultListModel();
File folder = new File("C:/Documents and Settings/All Users/Documents/My Pictures/Sample Pictures");
File[] listOfFiles = folder.listFiles();
JLabel[] lb=new JLabel[15];
for (int i = 0; i < listOfFiles.length; i++)
{
System.out.println("chek panth"+listOfFiles[i].getName().toString());
// b[i] = ImageIO.read(new File("C:/Documents and Settings/All Users/Documents/My Pictures/Sample Pictures/" + listOfFiles[i].getName().toString()));
b[i] = new ImageIcon("C:/Documents and Settings/All Users/Documents/My Pictures/Sample Pictures/" + listOfFiles[i].getName().toString());
lb[i]=new JLabel(b[i]);
listModel.add(i, lb[i]);
}
JList lsm=new JList(listModel);
Component add = frame.add(new JScrollPane(lsm));
frame.setVisible(true);
}
}
OriginalL'auteur Jony | 2012-03-03
Vous devez vous connecter pour publier un commentaire.
Noter que je ne voudrais pas concevoir le code de cette façon, mais je voulais le garder aussi proche de l'original que possible, tout en le faisant travailler pour afficher une liste d'images sur un ordinateur Windows en fonction de la boîte.
OriginalL'auteur Andrew Thompson
vous pouvez utiliser listcellrenderer pour afficher à la fois l'image et le texte dans la jlist probablement comme celui-ci, pour montrer l'étiquette avec une icône dans la liste
c'est vrai,mais mon ami avait de la difficulté à ajouter jlabel avec l'icône de la liste donc je dois trouver la solution d'une certaine manière
OriginalL'auteur chirag