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 :

Comment balayer tous les boutons d'un JPanel


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut Comment balayer tous les boutons d'un JPanel
    Bonjour.
    Je développe un Othello en java.
    En deux mots, damier est mon damier théorique, plateau est mon JPanel.
    Mon JPanel ne comporte QUE des boutons.

    1) Pourquoi cette fonction ne marche-t-elle pas ou pas bien ?
    Ca marchait hier sur un autre ordi. Ca ne donne rien sur celui-ci.

    J'ai idée que le getComponent ne renvoie pas un bouton, car je n'ai pas la possibilité de sélectionner un setIcon (dans l'idéal je voudrais écrire la ligne que j'ai mis en commentaire (cas du pion noir)).

    2) Il n'y a pas une syntaxe du type
    'for each monBouton in Plateau' ?

    Merci d'avance de vos lumières.

    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
    19
    20
    public void affichePlateau(){
             Vector <Case> monDamier=this.monJeu.getDamier();
     
     
            for (int i=0;i<plateau.getComponentCount();i++){
     
                if(monDamier.get(i).valeur==0){
     
                   //monBouton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/othello/img/noir.gif")));
     
                }
                else if(monDamier.get(i).valeur==1){
                    plateau.getComponent(i).setBackground(Color.white);
                }
                else if(monDamier.get(i).valeur==2){
                    plateau.getComponent(i).setBackground(Color.gray);
                }
     
            }
        }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bon, j'ai fini par taper ma recherche en anglais pour m'en sortir après deux jours sans succès (avec des mots clés du genre balayer JPanel ou bien boucle JPanel)...
    Ceci tourne exactement comme je veux.

    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
        	public void affichePlateau(){
            Vector <Case> monDamier=this.monJeu.getDamier();
            int i=-1;
            for (Component c : plateau.getComponents()) {
                i++;
                if (c instanceof AbstractButton) {
                    if(monDamier.get(i).valeur==0){
                        ((AbstractButton)c).setIcon(new javax.swing.ImageIcon(getClass().getResource("/othello/img/noir.gif")));
                    }
                    else if(monDamier.get(i).valeur==1){
                        ((AbstractButton)c).setIcon(new javax.swing.ImageIcon(getClass().getResource("/othello/img/blanc.gif")));
                    }
                }
     
            }
    Merci Dendrite. Bah de rien, c'est bien naturel.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

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

Discussions similaires

  1. [C#] Comment changer tous les btn d un coup
    Par Le Basque dans le forum Windows Forms
    Réponses: 8
    Dernier message: 13/01/2005, 19h21
  2. Réponses: 4
    Dernier message: 24/09/2004, 11h17
  3. [String] comment virer tous les espaces vides ?
    Par Alec6 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2004, 15h27
  4. [Tomcat] Comment supprimer tous les logs ?
    Par Soulsurfer dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 11/05/2004, 17h35
  5. Réponses: 4
    Dernier message: 16/08/2003, 14h21

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