IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Retirer dynamiquement des JLabel


Sujet :

Java

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 100
    Points : 89
    Points
    89
    Par défaut Retirer dynamiquement des JLabel
    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:
    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()+" ");
    			}
    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
    int p = FAajoutee.size();
    pan.remove(hashlabel.get(p));
    pan.revalidate()
    hashlabel.remove(p);
    FAajoutee.remove(p-1);
    System.out.println(p);
    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.

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Quand tu ajoutes tes JLabel à ton Jpanel, ajoutes les aussi dans une Liste quelconque, comme ça tu n'auras plus qu'à faire un ytruc comme ceci

    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
     
    private List<JLabel> myLabels = new ArrayList<JLabel>();
    private JPanel panel = new JPanel();
     
    public void feedLabels() {
        for(int i = 0; i < 10; i++) {
            Jlabel label = new JLabel("Label "+i);
            myLabels.add(label);
            panel.add(label);
        }
        panel.revalidate();
    }
     
    public void removeLastLabel() {    
        panel.remove(myLabels.get(myLabels.size()-1));
        myLabels.remove(myLabels.size()-1);
        panel.revalidate();
    }


    Puis à quoi ça sert d'utiliser une hashmap avec des entiers en clef????
    J'comprends pas, ça revient à utiliser une liste tout à fait standard...
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 100
    Points : 89
    Points
    89
    Par défaut
    Bonsoir,

    ça marche nickel merci pour ta réponse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Look and feel] Texte des JLabels en gras
    Par aliasjcdenton dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 26/01/2006, 11h49
  2. Suppression dynamique des bases...
    Par elmagnifico dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/04/2005, 17h13
  3. [VBA-E] Est il possible de creer dynamiquement des controles en VBA
    Par bbkenny dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 13/08/2004, 20h04
  4. [JSP] utilisation dynamique des includes
    Par shinchun dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/05/2004, 15h28
  5. Réponses: 2
    Dernier message: 31/08/2002, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo