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 formulaire - Guide
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Fiche de paie à remplir gratuit excel ✓ - Forum compta / gestion
- 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.