Bonjour,
Je suis entrain de developpez une sorte d'excel en java, cependant je suis face à un problème assez difficile à résoudre.
Je souhaite récupéré les valeurs des celules que je sélectionne, cela marche cependant lorsque je clique sur une celule, et que je clique sur une autre celule dans la même ligne l'évènement n'est pas pris en compte et je ne reçois rien, alors que si je fais la même choses en selectionnant entre les deux une celule d'une autre ligne je reçois bien les bonnes valeurs.
Je vois pas mal de posts avec ce probleme (du listSelectionListener), j'ai essayé aussi de faire une classe qui implémente listSelectionListener et MouseListener sans succes)
Je vous joint mon code qui récupère les valeurs dans la grille :
Merci d'avance.
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 ListSelectionModel cellSelectionModel = table.getSelectionModel(); cellSelectionModel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); cellSelectionModel.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { System.out.println(e.getValueIsAdjusting()); if (e.getValueIsAdjusting()){ return ; }else{ //ArrayList<String> selectedData = new ArrayList<String>(); String valeurRecup; int[] selectedRow = table.getSelectedRows(); int[] selectedColumns = table.getSelectedColumns(); for (int i = 0; i < selectedRow.length; i++) { for (int j = 0; j < selectedColumns.length; j++) { valeurRecup = (String) table.getValueAt(selectedRow[i], selectedColumns[j]); selectedData.add(valeurRecup); System.out.println("Select: "+ selectedData.get(i)); selectedData.clear(); } } for (int i=0;i<selectedData.size();i++){ System.out.println("Select: "+ selectedData.get(i)); selectedData.clear(); } selectedData.clear(); } } });
Partager