Bonjour,
J'ai une fenêtre JFrame dans laquelle j'ai un JPanel principal degrade (pour utiliser un fond en couleur degradée), un JPanel pan qui contient des JLabel ajoutés dynamiquement en cliquant sur un bouton Ajouter, je veux aussi retirer le dernier JLabel ajouté en cliquant sur un bouton Supprimer, l'ajout se fait sans problème, mon code:
Mais quand je veux retirer un JLabel en appuyant sur le bouton supprimer pour supprimer le dernier JLabel ajouté, il y a que le premier clique qui fonctionne bien, mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 //FAajoutee est une liste qu'on remplie au fure et à mesure que l'on rajoute des JLabel for(int i=1;i<=FAajoutee.size();i++){ hashlabel.put(i, new JLabel()); pan.add(hashlabel.get(i)); hashlabel.get(i).setOpaque(true); hashlabel.get(i).setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY, 1)); hashlabel.get(i).setBackground(Color.WHITE); hashlabel.get(i).setPreferredSize(dimlabel); hashlabel.get(i).setText(" "+dialogue.getFile()+" "); }
Chaque clique retire le dernier élèment de ma liste mais pas le JLabel, avez-vous une idée de la source de problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int p = FAajoutee.size(); pan.remove(hashlabel.get(p)); pan.revalidate() hashlabel.remove(p); FAajoutee.remove(p-1); System.out.println(p);
Partager