Bonsoir, j'explique mon problème :
Je souhaite récupérer l'index de la ligne sélectionné dans une JTable avec la méthode getSelectedRow() mais celle-ci me renvois toujours -1.
Pourtant ma ligne est bien sélectionné. Pouvez-vous m'aider ?

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
public void initTable(){		
	    try{
		    Object[][] data = null;
		    tableau = new JTable();
			this.listRes = new ArrayList<Reservation>();
 
			//Charge la liste des réservations d'un client, qui ont été payé.
			this.listRes = Reservation.loadByIdClient(E_Statut.Paye, c.getId());
 
			//Si la liste n'est pas vide.
			if(!this.listRes.isEmpty()){
				data = new Object[listRes.size()][5];
 
				//Récupération des données.
				for(int i = 0 ; i <listRes.size() ; i++){
					data[i][0] = listRes.get(i).getSemaine().toString();
					data[i][1] = String.valueOf(listRes.get(i).getHeure().getHours()) + "h";
					data[i][2] = listRes.get(i).getEleve().getPrenom();
					data[i][3] = listRes.get(i).getCours().getSport().toString();
					data[i][4] = listRes.get(i).getCours().getCategorie().toString();
				}
 
				//Ajout des données dans la JTable.
				tableau.setModel(new DefaultTableModel(data,new String[] {
				    		"Semaine", "Heure", "El\u00E8ve", "Sport", "Niveaux"}));
			}
			else {
				//Initialisation de la JTable.
				tableau.setModel(new DefaultTableModel(	new Object[][] {
				    		{null, null, null, null, null},}, 
						new String[] { "Semaine", "Heure", "El\u00E8ve", "Sport", "Niveaux"	}));
			}
 
		}
		catch(Exception ex){
			JOptionPane.showMessageDialog(null, "Erreur lors du chargement des réservation!");
		}
 
	    //Ajout de règles pour la JTable.
		tableau.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
	    tableau.getColumnModel().getColumn(0).setMaxWidth(155);
	    tableau.getColumnModel().getColumn(0).setMinWidth(155);
	    tableau.getColumnModel().getColumn(1).setMinWidth(45);
	    tableau.getColumnModel().getColumn(1).setMaxWidth(45);
	    tableau.getColumnModel().getColumn(4).setMaxWidth(55);
	    tableau.getColumnModel().getColumn(4).setMinWidth(55);
	    tableau.setRowSelectionAllowed(true);
 
	    //Ajout d'un scrollPane contenant ma JTable.
	    JScrollPane scrollPane = new JScrollPane(tableau);
	    scrollPane.setLocation(20, 46);
	    scrollPane.setSize(404, 185);
	    this.getContentPane().add(scrollPane);
	}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
btnAfficher.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				WReservation wReservation = new WReservation(This, listRes.get(tableau.getSelectedRow()));
				wReservation.setVisible(true);
				This.setEnabled(false);
				btnAfficher.setEnabled(false);
			}
		});
Nom : Capture.PNG
Affichages : 266
Taille : 12,1 Ko