SetCellEditor ne fonctionne pas ???

Zoupine Messages postés 13 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 10 décembre 2003 - 17 nov. 2003 à 17:08
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 19 nov. 2003 à 20:12
Bonjour,

je fais probablement (certainement!) une erreur quelque part mais je ne trouve pas où :

L'idée, c'est de mettre un combo ou un text field dans les cellules d'une colonne d'un tableau créé avec un TableModel.

[-skip-]
Vector enteteColonnes = new Vector();
Vector rangees = new Vector();

// Get des entetes des colonnes
ResultSetMetaData rsmd = result.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); ++i) {
  enteteColonnes.addElement(rsmd.getColumnName(i));
}

// Get des données des rangées
do {
  rangees.addElement(getRangeeSuivante(result, rsmd));
} while (result.next());

// afficher une table avec le contenu des données trouvées
DefaultTableModel model = new DefaultTableModel(rangees,
                    enteteColonnes);

FiltreTriModel sorter = new FiltreTriModel(model);
runningJobsTable = new JTable(sorter);

TableColumnModel columnModel = runningJobsTable.getColumnModel();
for (int i = 0; i < columnModel.getColumnCount(); i++) {
  
  TableColumn colonne =  columnModel.getColumn(i);

  if (columnModel.getColumn(i).getHeaderValue().equals(
                        "PRTYLVL")) {

     JComboBox combo = new JComboBox();
     for (int j = 1; j <= runningJobsTable.getRowCount(); j++) {
        combo.addItem(new Integer(j));
     }
     combo.addItem("null");
     
     colonne.setCellEditor(new DefaultCellEditor(combo));
     
  }else if (columnModel.getColumn(i).getHeaderValue().equals("COMMENT")) {
     JTextField comment = new JTextField();
     colonne.setCellEditor(new DefaultCellEditor(comment));

  }
}

sorter.addEcouteur(runningJobsTable);
selectScroll.getViewport().add(runningJobsTable, null);
selectTablePanel.add(selectScroll);
selectTablePanel.validate();
selectTablePanel.setVisible(true);


A la compilation, pas de problème.

Mais quand j'exécute, pas de combobox dans la colonne PRTYLVL, ni de champs éditable dans la colonne COMMENT.

Une idée ? :sad)

Merci

Zoupine

5 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
17 nov. 2003 à 22:48
GodConan :clown)

c un peu nimporte koi la ;o)

en fai il te fau implementer un TableCellRenderer
( normalemen je devai en metre un ds mes source mai fo je fasse propre ;o) )
mais otremen pour les combo il me semble kil i a un sample ds le JDK 1.4....

GL
0
Zoupine Messages postés 13 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 10 décembre 2003
19 nov. 2003 à 10:48
Merci GodConan.

c un peu nimporte koi la ;o)


Ben ouaip ... j'essaye quoi ! :shy)

Je vais aller zyeuter sur le site de sun (jdk 1.4).

Merci 8-)

Nathalie
0
Zoupine Messages postés 13 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 10 décembre 2003
19 nov. 2003 à 11:14
ben finalement, en lisant l'exemple sur le site de sun :
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#combobox

c'est exactement ce que j'ai fait, me semble-t-il, dans mon code ...

%-6 Nathalie
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
19 nov. 2003 à 19:49
GodConan :clown)

bon ok je me penche sur le prob ;o) : je tache de donnee correction avan demain soir. Sa doi etre tou bete ;o).
Autrement as tu regarder l exemple SwingSet demo des demo jfc de sun?
il y a une grosse JTable avec tou plen d exemple de rendu...

GL
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
19 nov. 2003 à 20:12
GodConan :clown)

bon je vien de comparer avec un de mes code ;o)
et ta l air de faire pareil ;o) sauf que moi j utilise un model pour ma combo

if (columnModel.getColumn(i).getHeaderValue().equals("PRTYLVL"))
= if (colonne.getHeaderValue().equals("PRTYLVL"))
;o)

otremen mai une trace justemen a l interieur de se test car si tu n y passe pas ta combo n est pas presente ds le model. Et si c pas sa... ben se serai bien un bon debugger;o)
héhé ta pas Eclipse(comme EDI)??

:big) GL

++
0
Rejoignez-nous