Se connecter / S'enregistrer
Votre question

comment puis-je rendre les cellules de ma JTable non éditable dans mon cas

Tags :
  • Java
  • Programmation
Dernière réponse : dans Programmation
17 Octobre 2011 12:25:16

Bonjour à tous, voici, depuis un moment je butte contre un problème que je n’arrive pas à resoudre, celui de rendre les cellules de ma Jtable non éditables.je sais que la méthode « isCellEditable(int row, int col) » le fait, mais dans mon cas je ne sais pas ou appelé cette méthode, vu que ma Jtable est composée d’une colonne et est remplie par une requête.Quelqu’un pourait-il m’éclairer sur le topo ?Merci. Les codes ;

  1. /*Methode permettant de remplir la Jtable*/
  2.  
  3. public void ListeRegistre()
  4. {
  5. try{
  6. String Query ="SELECT * FROM registres ";
  7. Connection connection = (Connection) DataBaseConnector.getConnection();
  8. PreparedStatement ps = (PreparedStatement) connection.prepareStatement(Query);
  9. ResultSet rs = ps.executeQuery();
  10. ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
  11. colNo = md.getColumnCount();
  12. while (rs.next()) {
  13. objects = new Object[colNo];
  14. for (int i = 0; i < colNo; i++) {
  15. objects[i] = rs.getObject(i + 1);
  16. //objects[i]=isCellEditable(i, colNo);
  17. }
  18. // TxtJtable.getModel().;
  19. aModel.addRow(objects);
  20. }
  21. TxtJtable.setModel(aModel);
  22. TxtJtable.repaint();
  23.  
  24. } catch (SQLException ex) {
  25. Logger.getLogger(FormProcedureGestionRegistre1.class.getName()).log(Level.SEVERE, null, ex);
  26. }
  27.  
  28. /*Code de ma JTable*/
  29. private DefaultTableModel aModel;
  30. private javax.swing.JTable TxtJtable;
  31. TxtJtable = new javax.swing.JTable();
  32. String[] tableColumnsName = {"REGISTRE DISPONIBLES"};
  33. aModel = new DefaultTableModel();
  34. aModel.setColumnIdentifiers(tableColumnsName);
  35. TxtJtable.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
  36.  
  37. TxtJtable.setModel(aModel );
  38.  
  39. TxtJtable.setEnabled(false);

Autres pages sur : rendre cellules jtable editable cas

a c 232 L Programmation
17 Octobre 2011 13:48:08

Salut,

Tu veux rendre toutes les cellules non éditables ?
Si c'est le cas, remplace ta ligne:
  1. aModel = new DefaultTableModel();

par:
  1. aModel = new DefaultTableModel {
  2. public boolean isCellEditable(int row, int col){
  3. return false;
  4. }
  5. };
17 Octobre 2011 14:49:25

oui Omar,c'est exactement ce que je veux faire,rendre toutes les cellules non éditables,et j'avais meme tenté ce que vous me dites de faire,je l'ai quand meme repeté,mais il y'a toujours une erreur du genre {illegal start of expression} que je n'arrive pas à capter:

  1. aModel = new DefaultTableModel (
  2. {
  3. public boolean isCellEditable(int row, int col)
  4. { return false; }
  5. }
  6. );
a c 232 L Programmation
17 Octobre 2011 14:58:27

Ah oui pardon, j'ai oublié l'appel au constructeur...
  1. aModel = new DefaultTableModel() {
  2. public boolean isCellEditable(int row, int col){
  3. return false;
  4. }
  5. };


Ca devrait être mieux avec ça
17 Octobre 2011 15:34:56

Merci bien Omar.Sa marche et je suis très content,encore une fois Merci.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS