A voir également:
- Remplir une jlist
- Excel remplir une cellule en fonction d'une autre ✓ - Forum Excel
- Remplir une matrice matlab ✓ - Forum Matlab
- Organigramme a remplir word - Guide
- Remplir une matrice algorithme - Forum Pascal
- Remplir un pdf gratuitement - Guide
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 004
26 mars 2012 à 12:30
26 mars 2012 à 12:30
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);
}
28 mars 2012 à 11:08
28 mars 2012 à 11:34
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(); } }28 mars 2012 à 11:50
28 mars 2012 à 12:11
PS. Il fallait bien sûr changer String fi, pour correspondre à ton fichier.
10 déc. 2012 à 18:42