Bonjour à tous,
J'ai une Jtable contenant des JComboBox.
Je cherche sur chaque ligne a garder la sélection du JComboBox.
Pour ce faire j'ai fais:
Dans le modèle du Jtable
Dans ma classe ComboEditor:
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 private ArrayList<JComboBox> combo_doses = new ArrayList<JComboBox>(); public void addNewRow() {// A chaque nouvelle ligne int n_ligne = (list_lignes.size()==0) ? 0 : list_lignes.size();// Le nombre de lignes //Sélection des lignes combo_doses.add(n_ligne, new JComboBox());// On ajoute la sélection } public ArrayList<JComboBox> getCombo_doses() { //getters de la sélection return combo_doses; } public void setCombo_doses(ArrayList<JComboBox> combo_doses) { //setters de la sélection this.combo_doses = combo_doses; }
Ce code fonctionne sans erreur le problème est qu'en ajoutant l'arraylist, je n'ai débloqué la solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 //Sélection de la dose dans la JComboBox à l'edition String nom_dose=(article_preselection.getNom_doses()!=null)?article_preselection.getNom_doses():""; ArrayList<Doses> array_doses; array_doses=dosesDao.select(); combo_doses=table_model.getCombo_doses();// Je récupère la valeur définit dans le modèle Jtable for(int x=0;x<array_doses.size();x++){ combo_doses.get(this.row).addItem(array_doses.get(x).getNom());//J'ajoute les items du JComboBox dans la ligne correspondante grâce à this.row } combo_doses.get(this.row).setSelectedItem(nom_dose);// Je sélectionne l'item table.getColumn("Doses").setCellEditor(new ComboEditor(combo_doses.get(this.row)));// Sélection valider du JComboBox
Je pense que le problème est que je fais appel à new ComboEditor() sur chaque ligne.
Mais comment faire pour lui dire que ça a changé de sélection!
Merci![]()
Partager