Remplir une jlist
koukou9018
-
Elmuchacho99 -
Elmuchacho99 -
Bonjour,
je veut remplir une jlist avec le contenu d'un fichier lors du clic sur un bouton "importer"
j'ai essayer avec ce code mais j'ai pas arriver à trouver l'instruction dans la boucle while qui remplir la jlist à partir du fichier
private void jButtonImport(ActionEvent e)
{
String fi = "resultat.txt";
try
{
InputStream ips=new FileInputStream(fi);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while ((ligne=br.readLine())!=null){
}
br.close();
}
catch (Exception err){
System.out.println(err.toString());
}
}
je veut remplir une jlist avec le contenu d'un fichier lors du clic sur un bouton "importer"
j'ai essayer avec ce code mais j'ai pas arriver à trouver l'instruction dans la boucle while qui remplir la jlist à partir du fichier
private void jButtonImport(ActionEvent e)
{
String fi = "resultat.txt";
try
{
InputStream ips=new FileInputStream(fi);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while ((ligne=br.readLine())!=null){
}
br.close();
}
catch (Exception err){
System.out.println(err.toString());
}
}
A voir également:
- Remplir une jlist
- Organigramme a remplir word - Guide
- Comment remplir un document pdf - Guide
- Comment remplir un tableau excel reçu par mail - Forum Excel
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Copiez l'image dans un logiciel d'édition d'images ou un outil en ligne comme js paint ou pixlr e. remplissez les cases en suivant le code couleur. des cases supplémentaires vont se remplir automatiquement. que représente le dessin ? ✓ - Forum Windows
1 réponse
Déjà, tu peux simplifier la lecture de ton fichier avec la classe Scanner. Ensuite, pour pouvoir accéder aux données, il faut appeler le ListModel, qui sera en général un DefaultListModel.
protected final JList list;
public Constructeur()
{
list = new JList(new DefaultListModel<String>());
}
String fi = "resultat.txt";
private void jButtonImport(ActionEvent e)
{
DefaultListModel<String> model = (DefaultListModel<String>) list.getModel();
Scanner sc = new Scanner(fi);
while (sc.hasNextLine())
model.add(sc.nextLine());
sc.close();
list.setModel(model);
}
Ici tu passes directement du fichier à la JList, pas besoin d'autre chose.
Cependant, j'avoue que je n'avais pas vérifié le code et qu'il y avait quelques erreurs, mais le principe était quand même bon ! Voici un exemple complet :
import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; import javax.swing.DefaultListModel; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JList; public class Test extends JFrame { private static final long serialVersionUID = 1L; protected final JList list; protected final JButton button; public Test() { setSize(500,500); setLayout(new FlowLayout()); list = new JList(new DefaultListModel()); add(list); button = new JButton("remplir"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { jButtonImport(e); } catch (FileNotFoundException e1) { e1.printStackTrace(); } } }); add(button); setVisible(true); setDefaultCloseOperation(DISPOSE_ON_CLOSE); } String fi = "/home/KX/Bureau/data.txt"; private void jButtonImport(ActionEvent e) throws FileNotFoundException { DefaultListModel model = (DefaultListModel) list.getModel(); Scanner sc = new Scanner(new File(fi)); while (sc.hasNextLine()) model.addElement(sc.nextLine()); sc.close(); list.setModel(model); } public static void main(String...args) { new Test(); } }PS. Il fallait bien sûr changer String fi, pour correspondre à ton fichier.