Bonjour chers collègues,

Mon application est un outil d'analyse de données se trouvant dans des fichiers textes.

J'aimerai, lorsque l'on clique sur mon bouton pour rechercher les fichiers que l'utilisateur veut analyser, le JTextArea se remplit en fonction des fichiers choisis.

Je suppose que je dois construire mon panel dans l'actionPerformed mais je ne suis pas certain. En tout cas, les fonctions qui appellent mon autre classe fonctionnent très bien.

Voici mon code :

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
package PackageAnalog;
 
import etc etc
 
 
@SuppressWarnings("serial")
public class TestAnalog extends JFrame implements ActionListener{
 
	private JPanel panel = new JPanel();
	private JPanel paneltop = new JPanel();
	private JPanel panelbot = new JPanel();
	private JPanel panelcent = new JPanel();
	private JPanel panelcenttop = new JPanel();
	private JButton bParcoursFic = new JButton("Choisir les fichiers à analyser");
 
	private JLabel label = new JLabel("Analyse des PDA et temps perdu avec leurs utilisations");
 
	private JFileChooser choixRep = new JFileChooser();
 
	private Object[][] donnees;
	private List<MSG_ID> elements; //renvoie la List<MSG_ID> (liste d'objets contenent les différents paramètres)
	private JTextArea zone_texte = new JTextArea();
 
 
	public TestAnalog() {
 
		super();
		build();		
 
	}
 
	private void build() {
 
		setTitle("Analyse des fichiers"); //On donne un titre à l'application
		setSize(700,550); //On donne une taille à notre fenêtre
		setLocation(350, 225); //On centre la fenêtre sur l'écran
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
		setContentPane(buildContentPane());
 
	}
 
	private JPanel buildContentPane(){
 
		panel.setLayout(new BorderLayout(10, 10));
		panel.setBackground(Color.white);
		paneltop.setLayout(new FlowLayout(FlowLayout.CENTER));
		panelbot.setLayout(new FlowLayout(FlowLayout.CENTER));
		panelcent.setLayout(new BorderLayout(0, 0));
		panelcenttop.setLayout(new FlowLayout(FlowLayout.CENTER));
 
		panel.add(paneltop, BorderLayout.NORTH);
		paneltop.add(label);
 
		panel.add(panelcent, BorderLayout.CENTER);
		panelcent.add(panelcenttop, BorderLayout.NORTH);
 
		bParcoursFic.addActionListener(this);
		panelcenttop.add(bParcoursFic);
 
		//Création du tableau
		String[] titreColonnes = { "MSG_ID", "Opérateur", "Temps perdu", "Date et Heure" };
 
		DefaultTableModel model = new DefaultTableModel(donnees, titreColonnes) {		
			public boolean isCellEditable(int row, int column) {
				return false; //aucune cellule editable
			}
		};
 
 
 
		final JTable table = new JTable(model);
		table.setAutoCreateRowSorter(true);
		table.setPreferredScrollableViewportSize(new Dimension(640, 200));
		table.setFillsViewportHeight(true);
		JScrollPane scrollPane = new JScrollPane(table);
 
		panelcenttop.add(scrollPane);
 
      	JScrollPane scroll_texte = new JScrollPane(zone_texte);
		panelcent.add(scroll_texte);
 
		table.addMouseListener(new MouseAdapter() { //si on clique sur une cellule
			  public void mouseClicked(MouseEvent e) { 
			    if (e.getClickCount() == 1) { 			    			    	
			    	JTable target = (JTable)e.getSource(); 
			    	int ligne = target.getSelectedRow(); 
			        int col = target.getSelectedColumn();
			        zone_texte.setText(remplissageTexte(target, ligne, col));			     				
			    } 
			  } 
			}); 
 
		return panel;
	}	
 
 
	private Object[][] remplissage(){
 
	private String remplissageTexte(JTable target, int ligne, int col){
 
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
 
		if(e.getSource() == bParcoursFic){
			choixRep.setCurrentDirectory(new File("/"));
			choixRep.changeToParentDirectory();
			choixRep.setMultiSelectionEnabled(true);
			choixRep.showOpenDialog(null);
			//choixRep.addChoosableFileFilter(new FileFilter(".log"));
			File[] fs=choixRep.getSelectedFiles();
			   for( int i = 1; i<fs.length; ++i){ 
			      // nom du fichier 
			      fs[i].getName();  
			      // chemin absolu du fichier
			      fs[i].getAbsolutePath();
			      System.out.println(fs[i].getAbsolutePath());
			   }
			elements = AnalogBis.Anamain(fs);
			donnees = remplissage();
		}
	}
 
 
 
	public static void main (String[] args) {
 
		TestAnalog analyseur = new TestAnalog();
		analyseur.setVisible(true);		
 
	}
 
 
 
 
 
}
Mon application ne me renvoie pas les données que j'aimerai obtenir sur mon panel (mon JTextArea ne se met pas à jour en fonction des fichiers selectionnés).