Bonjour à la communauté,
Depuis hier je suis bloqué dans l'avancement de mon code.
J'ai deux soucis.
J'utilise une JTable pour afficher le résultat d'une requête(à ce niveau pas de problème).
J'ai constaté que lorsque j'exécute le programme,les cellules sont éditables et j'arrive à sélectionner plusieurs lignes et colonne.
Mon objectif est d'arriver à empêcher cela.
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
 
 
import java.sql.ResultSet;
 
import java.sql.Statement;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import hrm.Connection.*;
 
/**
 *
 * @author USER
 */
public  class FrameListeUser extends javax.swing.JFrame {
    TableModel ft;
    /** Creates new form FrameListeUser */
    public FrameListeUser() {
        initComponents();
        getUsers();
 
    }
 
 
	//la méthode  getUsers me permet d'afficher le resultat dans la table
    public void getUsers() {
        Statement STMT;
        try {
            STMT = Global.MyConnection.createStatement();
            ResultSet rs = STMT.executeQuery("select  numeroutilisateur, nom, prenom, telephone, adresse "
                    + "FROM tsutilisateurs;");
 
            int j = 1;
            while (rs.next()) {
                j++;
            }
            Object vals[][] = new Object[j][5];
            rs = STMT.executeQuery("select  numeroutilisateur, nom, prenom, telephone, adresse "
                    + "FROM tsutilisateurs;");
 
            int i = 0;
            while (rs.next()) {
                vals[i][0] = rs.getString(1);
                vals[i][1] = rs.getString(2);
                vals[i][2] = rs.getString(3);
                vals[i][3] = rs.getString(4);
                vals[i][4] = rs.getString(5);
                i++;
            }
 
            String[] head = new String[]{"Nom", "Prenom", "Date de Naissance", "Années Expérience", "Certification"};          
            ft = new DefaultTableModel(vals, head);            
            JTableUser.setModel(ft);
 
        } catch (Exception ex) {
            //Logger.getLogger(Consultation.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    @SuppressWarnings("unchecked")
    // cette méthode est créée  par l'IDE(Netbeans 6.9.1)
    private void initComponents() {
		.....		
        pack();
    }// </editor-fold>   
 
 
    // Variables declaration - do not modify
    private javax.swing.JButton BActualiser;
    private javax.swing.JButton BDel;
    private javax.swing.JButton BFermer;
    private javax.swing.JButton BNew;
    private javax.swing.JTable JTableUser;
    private javax.swing.JTextField TextSearch;
    private javax.swing.JButton jButton2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration
 
}
Pour empêcher l'édition des cellules j'ai trouvé ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
public class GelerColonne extends DefaultTableModel {
 
    public boolean isCellEditable(int row, int column) {
       return false;
    }
}
mais quand je fait
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
 
 
 
public void getUsers() {
        Statement STMT;
        try {
            ...
 
            String[] head = new String[]{"Nom", "Prenom", "Date de Naissance", "Années Expérience", "Certification"}; 
			DefaultTableModel dtm=new GelerColonne();
            ft = new DefaultTableModel(vals, head);            
            JTableUser.setModel(ft);
            JTableUser.setModel(dtm); //le tableau est vide mais les cellules ne sont pas editable
        } catch (Exception ex) {
            //Logger.getLogger(Consultation.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
le tableau est vide mais les cellules ne sont pas éditables

Quelqu'un à une solution?