Bonjour, j'ai juste un problème au niveau de l'utilisation de la JList,
quand j'appuie sur un objet dans la JList, je veux récupérer le nom dans le JTextField nomTexte, le problème c'est que ça compile bien, mais rien ne s'affiche lorsque je clique sur l'objet dans la JList.
Quelqu'un a-t-il une idée ?

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
package test;
 
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.border.LineBorder;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
 
public class ArboIHM extends JFrame implements ActionListener {
 
	private List<File> liste = new ArrayList<File>();
	private JPanel panel = new JPanel();
	private JPanel boutons = new JPanel();
	private JButton triNom = new JButton("Arborescence triée par nom");
	private JButton triTaille = new JButton("Arborescence triée par taille");
	// private JButton TriDate = new JButton("Arborescence triée par date");
	private File test = new File(".");
	private ArboTrieeParNom a1 = new ArboTrieeParNom(test);;
	private ArboTrieeParTaille at1 = new ArboTrieeParTaille(test);
	private JList laListe = new JList(liste.toArray());;
	private JLabel nomLabel = new JLabel("Nom : ");
	private JLabel tailleLabel = new JLabel("Taille : ");
	private JLabel dateLabel = new JLabel("Date : ");
	private JPanel nom = new JPanel();
	private JPanel taille = new JPanel();
	private JPanel date = new JPanel();
	private JTextField nomTexte = new JTextField(20);
	private JTextField tailleTexte = new JTextField(20);
	private JTextField dateTexte = new JTextField(20);
	private JScrollPane scrollPane = new JScrollPane(laListe);
	private JButton ouvrir = new JButton("Ouvrir le fichier");
	private GridLayout g1 = new GridLayout(3, 1);
	private JLabel typeLabel = new JLabel("Type : ");
	private JPanel type = new JPanel();
	private JTextField typeTexte = new JTextField(20);
	private JScrollPane j1 = new JScrollPane(laListe);
	private JPanel infos = new JPanel();
 
	private class triParNom implements ActionListener {
		public void actionPerformed(ActionEvent arg0) {
			// laListe = new JList(a1.getListe().toArray());
			laListe.setListData(a1.getListe().toArray());
 
		}
	}
 
	private class triParTaille implements ActionListener {
		public void actionPerformed(ActionEvent arg0) {
			// laListe = new JList(a1.getListe().toArray());
			laListe.setListData(at1.getListe().toArray());
 
		}
	}
 
	public ArboIHM() {
		init();
 
	}
 
	public void init() {
		setVisible(true);
		this.setJMenuBar(this.creationBarreDeMenu());
		setTitle("Projet de JAVA");
		pack();
		setSize(700, 300);
		this.setLocationRelativeTo(null);
		setResizable(false);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
 
		add(panel);
		nom.add(nomLabel);
		nom.add(nomTexte);
		date.add(dateLabel);
		date.add(dateTexte);
		taille.add(tailleLabel);
		taille.add(tailleTexte);
		type.add(typeLabel);
		type.add(typeTexte);
 
		boutons.add(triNom);
		boutons.add(triTaille);
		boutons.add(ouvrir);
 
		infos.add(nom);
		infos.add(date);
		infos.add(taille);
		infos.add(type);
 
		panel.setLayout(g1);
		panel.add(boutons);
		panel.add(infos);
		j1.setViewportView(laListe);
		panel.add(j1);
 
		triNom.addActionListener(new triParNom());
		triTaille.addActionListener(new triParTaille());
 
		laListe.setBorder(new LineBorder(Color.black)); // couleur du bord
		laListe.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		File f1 = (File) laListe.getSelectedValue();
 
		if(f1!=null){
 
			nomTexte.setText(f1.getName());
		}
 
 
		panel.updateUI();
	}
 
	private JMenuBar creationBarreDeMenu() {
 
		JMenuBar jmb = new JMenuBar();
 
		JMenu fichier = new JMenu("Fichier");
		JMenu aide = new JMenu("?");
 
		JMenuItem itemNouveau = new JMenuItem("Nouveau");
		JMenuItem itemSauver = new JMenuItem("Sauvegarder");
		JMenuItem itemCharger = new JMenuItem("Charger");
		JMenuItem itemQuitter = new JMenuItem("Quitter");
		JMenuItem itemPropos = new JMenuItem("A Propos");
		JMenuItem itemAide = new JMenuItem("Aide");
 
		fichier.add(itemNouveau);
		fichier.add(itemSauver);
		fichier.add(itemCharger);
		fichier.add(itemQuitter);
		aide.add(itemPropos);
		aide.add(itemAide);
 
		jmb.add(fichier);
		jmb.add(aide);
 
		itemQuitter.addActionListener(this);
 
		return jmb;
 
	}
 
	public void actionPerformed(ActionEvent e) {
 
		String action = e.getActionCommand();
 
		if (action.equals("Quitter")) {
			System.exit(0);
		}
	}
 
	public static void main(String... args) {
		new ArboIHM();
	}
}