Bonjour,
J'essaie de faire une JTable contenant deux colonnes:
- une colonne contiendra un type de document
- l'autre contiendra, un chemin vers un fichier.
J'ai essayé de créer un editeur personnalisé pour la seconde colonne, afin de pouvoir, en cliquant sur une des cellules de cette colonne, d'avoir une boite de dialogue permettant de sélectionner un fichier.
Initialement, pour chaque cellule de ma seconde colonne, j'ai bien un chemin vers un fichier, mais dès quand j'édite une des cellules, je n'arrive pas à mettre à jour la valeur de la cellule (il m'affiche le chemin de l'ancien fichier).
Comment faire?
Voilà le code de l'editor associé à ma colonne :
Donc en fait, faudrait que je puisse dire que la nouvelle valeur de ma cellule est le contenu de la variable fileName, qui récupère le résultat souhaité.
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 public class FileChooserCellEditor extends AbstractCellEditor implements TableCellEditor { private static final long serialVersionUID = 1L; JFileChooser fc; JButton button; JDialog dialog; RulesOptionFenetre fenetre; String fileName; public FileChooserCellEditor(RulesOptionFenetre fenetre){ this.fenetre = fenetre; } @Override public Object getCellEditorValue() { return fileName; } @Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { fc = new JFileChooser(); int returnVal = fc.showOpenDialog(fenetre); if (returnVal == JFileChooser.APPROVE_OPTION) { fileName = fc.getSelectedFile().getAbsolutePath(); System.out.println("fileName : " + fileName); } return null; } }
Merci :-)






Répondre avec citation
Partager