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 :

Image etendue dans un panel


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Par défaut Image etendue dans un panel
    Bonjour,
    J'ai fait une application avec une grille et j'aimerais que les images que je met s'étendent et s'adaptent au JPanel auqueles elles sont associées.
    En effet mon JPanel principal est une grille de x*y cases
    et donc j'aimerais que les images soient à la dimension d'une case, donc si la case est petite, l'image est petite

    j'ai déjà regarder la FAQ mais quand je le fait ça ne marche pas, car si l'image est trop grande alors on voit que un morceau dans la case

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    import javax.swing.*;
    import java.awt.*;
     
    public class MonPanel extends JPanel{Image font;
     public MonPanel(){super();}
     public void paint(Graphics g)
    	{
    		super.paint(g);
    		if(font != null) // Si l'image existe, ...
    		g.drawImage(font,0,0,this); // ... on la dessine
    	}
     
     public void setImage(int i){
       if(i==1)
       {
           font = getToolkit().getImage("src/m.gif");
     
         }
       if(i==0)
       {
           font=null;
     
       }
       if(i==2)
       {
           font = getToolkit().getImage("src/lapin.gif");
     
       }
       if(i==3)
       {
           font = getToolkit().getImage("src/carotte.gif");
     
       }
     }
    }
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    import javax.swing.*;
    import javax.swing.border.*;
    import java.awt.*;
    import java.awt.Graphics;
    import java.awt.Image;
    import javax.swing.JFrame.*;
     
    public class PlateauJeu extends javax.swing.JFrame {
     private Jeu lejeu;int larg,longu,nbto,nbje,nbdiv;int nbj=1;int nbgagne=0;boolean fin=false;int nbt=0; Image font;
     
        public PlateauJeu() {
            initComponents();
           Choix jd=new Choix(this,true);
           jd.setVisible(true);
           larg=jd.largueurgrille;
           longu=jd.longueurgrille;
           System.out.println(larg);System.out.println(longu);
           nbto=jd.nbtour;
           nbdiv=jd.division;
           nbje=jd.nbjeux;
          lejeu=new Jeu(longu,larg,nbto,nbdiv,nbje);
           restest.setVisible(false);
           pp.setVisible(false);
           pg.setVisible(false);
           pdr.setVisible(false);
           ResultatPourc.setVisible(false);
           PPerdu.setVisible(false);
           PGagne.setVisible(false);
     
           creationJeu();
           afficheJeu();
     
     
     
        }
     
     
        public void creationJeu(){
      // création d'une stratégie en grille de longeur et largeur définit par l'utilisateur
       GridLayout g=new GridLayout(longu,larg);
        Grille.setLayout(g);
       for(int i=1;i<=longu;i++)
         for(int j=1;j<=larg;j++)
         {
          MonPanel pan = new MonPanel();  // création d'une case (panel)
          pan.setImage(0);
          Grille.add(pan);     // ajout de la case dans la grille
         }
      }
     
     
      public void afficheJeu(){ 
       for(int i=0;i<longu;i++)
           for(int j=0;j<larg;j++)
           { // récupére les panneau de la grille un par un et regarde son numéro (0,1 ou 2)
             MonPanel pan=(MonPanel)Grille.getComponent(i*larg+j);
            // création d'une bordure
             Border lineBdr = BorderFactory.createLineBorder(Color.BLACK);
             if(lejeu.g.grille[i][j]==1)
             {  // coloration de la case en jaune si son numéro est 1
                pan.setBackground(Color.YELLOW);
                 pan.setImage(0);
                 pan.setBorder(lineBdr);
                 pan.repaint();
                }
     
             if(lejeu.g.grille[i][j]==0)
             {// coloration de la case en rouge si son numéro est 0
                 pan.setBackground(Color.RED);
                 pan.setImage(1);
                 pan.setBorder(lineBdr);
                 pan.repaint();
     
             }
     
             if(lejeu.g.grille[i][j]==2)
             {// coloration de la case en bleu si son numéro est 2
                 pan.setBackground(Color.BLUE);
                 pan.setImage(2);
                 pan.setBorder(lineBdr);
             pan.repaint();}
     
             if(lejeu.g.grille[i][j]==3)
             {// coloration de la case en bleu si son numéro est 2
                 pan.setBackground(Color.GREEN);
                 pan.setImage(3);
                 pan.setBorder(lineBdr);
             pan.repaint();}
     
          }
     
       }
     
      public void jeu(){do{fin=false;nbt=0;
          if(nbj>1)
           lejeu=new Jeu(longu,larg,nbto,nbdiv,nbje);
          // création d'un nouveau jeu
     
     
           if(nbj>=1)
           {nbt = 0;                  //remise à zero du nombre de tours
            if(lejeu.fin)
           {   lejeu.g.AffichageGrille();
               nbgagne++;  // incrémente le nombre de parties gagnantes
               fin = true;
               System.out.println("gagner en : "+1+" tours");
           }
            while(nbt<=lejeu.nbTour && !fin)
            {lejeu.Faireuntour();     // fait un tour
            afficheJeu();
            nbt++;                      // incrémente le nombre de tour
           // verification de la fin d'un tour
            if(lejeu.r.fin || lejeu.r2.fin)
            {
                nbgagne++;
                fin = true;
                System.out.println("gagner en : "+nbt+" tours");
             }
            if(!lejeu.r.fin && !lejeu.r2.fin && nbt==lejeu.nbTour)
              System.out.println("perdu en "+nbt+"tours");
     
            try{
            Thread.sleep(1000);
            }
             catch(InterruptedException e){}
            }
           }
           nbj++;
           }while(nbj<=lejeu.nbJeu); // faire le jeu autaut de fois que l'utilisateur le demande
     
          afficheJeu();
      }
     
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            Grille = new javax.swing.JPanel();
            jPanel1 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
            restest = new javax.swing.JLabel();
            jPanel2 = new javax.swing.JPanel();
            pg = new javax.swing.JLabel();
            PGagne = new javax.swing.JLabel();
            jPanel3 = new javax.swing.JPanel();
            pp = new javax.swing.JLabel();
            PPerdu = new javax.swing.JLabel();
            jPanel4 = new javax.swing.JPanel();
            pdr = new javax.swing.JLabel();
            ResultatPourc = new javax.swing.JLabel();
            jPanel5 = new javax.swing.JPanel();
            jPanel6 = new javax.swing.JPanel();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     
            Grille.setLayout(new java.awt.GridLayout(4, 4));
            getContentPane().add(Grille, java.awt.BorderLayout.CENTER);
     
            jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.Y_AXIS));
     
            jButton1.setText("Lancer le test");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
            jPanel1.add(jButton1);
     
            restest.setText("Resultats du Test:");
            jPanel1.add(restest);
            jPanel1.add(jPanel2);
     
            pg.setText("Parties gagnées:");
            jPanel1.add(pg);
            jPanel1.add(PGagne);
            jPanel1.add(jPanel3);
     
            pp.setText("Parties perdues");
            jPanel1.add(pp);
            jPanel1.add(PPerdu);
            jPanel1.add(jPanel4);
     
            pdr.setText("Pourcentage de réussite");
            jPanel1.add(pdr);
            jPanel1.add(ResultatPourc);
            jPanel1.add(jPanel5);
            jPanel1.add(jPanel6);
     
            getContentPane().add(jPanel1, java.awt.BorderLayout.WEST);
     
            pack();
        }// </editor-fold>                        
     
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
          Thread t = new Thread(){
       public void run()
       {
          jeu();
    float res=(float)nbgagne/(float)lejeu.nbJeu;
           ResultatPourc.setVisible(true);
           ResultatPourc.setText((res*100)+"%");
           PPerdu.setVisible(true);
           PPerdu.setText((lejeu.nbJeu-nbgagne)+"parties");
           PGagne.setVisible(true);
           PGagne.setText(nbgagne+"parties");
       }
    };
    t.start();
           restest.setVisible(true);
           pp.setVisible(true);
           pg.setVisible(true);
           pdr.setVisible(true);
     
        }                                        
     
     
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    PlateauJeu pj=new PlateauJeu();
                    pj.setVisible(true);
                    pj.setSize(500, 500);
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JPanel Grille;
        private javax.swing.JLabel PGagne;
        private javax.swing.JLabel PPerdu;
        private javax.swing.JLabel ResultatPourc;
        private javax.swing.JButton jButton1;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JPanel jPanel3;
        private javax.swing.JPanel jPanel4;
        private javax.swing.JPanel jPanel5;
        private javax.swing.JPanel jPanel6;
        private javax.swing.JLabel pdr;
        private javax.swing.JLabel pg;
        private javax.swing.JLabel pp;
        private javax.swing.JLabel restest;
        // End of variables declaration                   
     
    }
    merci d'avance pour votre aide

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g.drawImage(font,0,0,this); // ... on la dessine
    tu dois modifier ce code pour qu'il utilise les dimensions du JPanel (getWidth/getHeight) et utiliser les différentes méthodes dans Graphics pour redimensionner l'image que tu affiche

    http://java.developpez.com/faq/gui/?...redimensionner

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Par défaut
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
        public void creationJeu(){
      // création d'une stratégie en grille de longeur et largeur définit par l'utilisateur
       GridLayout g=new GridLayout(longu,larg);
        Grille.setLayout(g);
       for(int i=1;i<=longu;i++)
         for(int j=1;j<=larg;j++)
         {
          MonPanel pan = new MonPanel();  // création d'une case (panel)
          pan.setImage(0,Grille.getWidth(),Grille.getHeight());
          Grille.add(pan);     // ajout de la case dans la grille
         }
      }
     
     
      public void afficheJeu(){ 
       for(int i=0;i<longu;i++)
           for(int j=0;j<larg;j++)
           { // récupére les panneau de la grille un par un et regarde son numéro (0,1 ou 2)
             MonPanel pan=(MonPanel)Grille.getComponent(i*larg+j);
            // création d'une bordure
             Border lineBdr = BorderFactory.createLineBorder(Color.BLACK);
             if(lejeu.g.grille[i][j]==1)
             {  // coloration de la case en jaune si son numéro est 1
                pan.setBackground(Color.YELLOW);
                 pan.setImage(0,pan.getWidth(),pan.getHeight());
                 pan.setBorder(lineBdr);
                 pan.repaint();
                }
     
             if(lejeu.g.grille[i][j]==0)
             {// coloration de la case en rouge si son numéro est 0
                 pan.setBackground(Color.RED);
                 pan.setImage(1,pan.getWidth(),pan.getHeight());
                 pan.setBorder(lineBdr);
                 pan.repaint();
     
             }
     
             if(lejeu.g.grille[i][j]==2)
             {// coloration de la case en bleu si son numéro est 2
                 pan.setBackground(Color.BLUE);
                 pan.setImage(2,pan.getWidth(),pan.getHeight());
                 pan.setBorder(lineBdr);
             pan.repaint();}
     
             if(lejeu.g.grille[i][j]==3)
             {// coloration de la case en bleu si son numéro est 2
                 pan.setBackground(Color.GREEN);
                 pan.setImage(3,pan.getWidth(),pan.getHeight());
                 pan.setBorder(lineBdr);
             pan.repaint();}
     
          }
     
       }
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    public class MonPanel extends JPanel{Image font;int lg;int lo;
     public MonPanel(){super();}
     public void paint(Graphics g)
    	{
    		super.paint(g);
    		if(font != null) // Si l'image existe, ...
    		g.drawImage(font, 0,0,lo,lg, this); // ... on la dessine
    	}
     
     public void setImage(int i,int longu,int larg){System.out.println("lo="+longu);
        lg=larg;
        lo=35;
       if(i==1)
       {
           font = getToolkit().getImage("src/m.gif");
     
         }
       if(i==0)
       {
           font=null;
     
       }
       if(i==2)
       {
           font = getToolkit().getImage("src/lapin.gif");
     
       }
       if(i==3)
       {
           font = getToolkit().getImage("src/carotte.gif");
     
       }
     }
    }
    Voila ce que j'ai fait mais quand je le lance il me dit que pan.getWidth() et pan.getHeight() sont null, donc sa ne marche pas
    comment y remedier

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    c'est dans le paint() que tu dois faire appel à getWidth/getHeight. Ce qui compte, c'est la taille au moment du dessin.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Par défaut
    Dans le print() j'avais mis cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g.drawImage(font, 0,0,lo,lg, this);
    et ds le code principale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pan.setImage(0,pan.getWidth(),pan.getHeight());
    sachant que dans la classe MonPanel setImage met lo=pan.getWidth() et lg=pan.getHeight(); donc getWidth et getHeight est bien appeler

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Par défaut
    c bon j'ai trouver il fallais que je mette this.getHeight() et this.getWidth()
    merci de ton aide

    maintenant j'aimerai savoir pour faire un fond dans une JFrame
    car c'est pareil sa ne marche pas

    voila ce que j'ai fait
    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
    import javax.swing.*;
    import java.awt.*;
     
    public class MonComponent extends JFrame {
     
            /** variable de classe contenant l'image à afficher en fond */
            private Image bg;
            public MonComponent(){super();}
            /** Surcharge de la fonction paintComponent() pour afficher notre image */
             public void paintComponent(Graphics g) {
                    g.drawImage(bg, 0,0,this.getWidth(),this.getHeight(), this);
            }
            public void setImage(){
           bg = getToolkit().getImage("src/m.gif");
         }
    }
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    public class PlateauJeu extends MonComponent {
     private Jeu lejeu;int larg,longu,nbto,nbje,nbdiv;int nbj=1;int nbgagne=0;boolean fin=false;int nbt=0; Image font;
     
        public PlateauJeu(){
     
            initComponents();
            this.setImage();
            repaint();
           Choix jd=new Choix(this,true);
           jd.setVisible(true);
           larg=jd.largueurgrille;
           longu=jd.longueurgrille;
           System.out.println(larg);System.out.println(longu);
           nbto=jd.nbtour;
           nbdiv=jd.division;
           nbje=jd.nbjeux;
          lejeu=new Jeu(longu,larg,nbto,nbdiv,nbje);
           restest.setVisible(false);
           pp.setVisible(false);
           pg.setVisible(false);
           pdr.setVisible(false);
           ResultatPourc.setVisible(false);
           PPerdu.setVisible(false);
           PGagne.setVisible(false);
     
           creationJeu();
           afficheJeu();
     
     
     
        }
     
     
        public void creationJeu(){
      // création d'une stratégie en grille de longeur et largeur définit par l'utilisateur
       GridLayout g=new GridLayout(longu,larg);
        Grille.setLayout(g);
       for(int i=1;i<=longu;i++)
         for(int j=1;j<=larg;j++)
         {
          MonPanel pan = new MonPanel();  // création d'une case (panel)
          pan.setImage(0);
          Grille.add(pan);     // ajout de la case dans la grille
         }
      }
     
     
      public void afficheJeu(){ 
       for(int i=0;i<longu;i++)
           for(int j=0;j<larg;j++)
           { // récupére les panneau de la grille un par un et regarde son numéro (0,1 ou 2)
             MonPanel pan=(MonPanel)Grille.getComponent(i*larg+j);
            // création d'une bordure
             Border lineBdr = BorderFactory.createLineBorder(Color.BLACK);
             if(lejeu.g.grille[i][j]==1)
             {  // coloration de la case en jaune si son numéro est 1
                pan.setBackground(Color.YELLOW);
                 pan.setImage(0);
                 pan.setBorder(lineBdr);
                 pan.repaint();
                }
     
             if(lejeu.g.grille[i][j]==0)
             {// coloration de la case en rouge si son numéro est 0
                 pan.setBackground(Color.RED);
                 pan.setImage(1);
                 pan.setBorder(lineBdr);
                 pan.repaint();
     
             }
     
             if(lejeu.g.grille[i][j]==2)
             {// coloration de la case en bleu si son numéro est 2
                 pan.setBackground(Color.BLUE);
                 pan.setImage(2);
                 pan.setBorder(lineBdr);
             pan.repaint();}
     
             if(lejeu.g.grille[i][j]==3)
             {// coloration de la case en bleu si son numéro est 2
                 pan.setBackground(Color.GREEN);
                 pan.setImage(3);
                 pan.setBorder(lineBdr);
             pan.repaint();}
     
          }
     
       }
     
      public void jeu(){do{fin=false;nbt=0;
          if(nbj>1)
           lejeu=new Jeu(longu,larg,nbto,nbdiv,nbje);
          // création d'un nouveau jeu
     
     
           if(nbj>=1)
           {nbt = 0;                  //remise à zero du nombre de tours
            if(lejeu.fin)
           {   lejeu.g.AffichageGrille();
               nbgagne++;  // incrémente le nombre de parties gagnantes
               fin = true;
               System.out.println("gagner en : "+1+" tours");
           }
            while(nbt<=lejeu.nbTour && !fin)
            {lejeu.Faireuntour();     // fait un tour
            afficheJeu();
            nbt++;                      // incrémente le nombre de tour
           // verification de la fin d'un tour
            if(lejeu.r.fin || lejeu.r2.fin)
            {
                nbgagne++;
                fin = true;
                System.out.println("gagner en : "+nbt+" tours");
             }
            if(!lejeu.r.fin && !lejeu.r2.fin && nbt==lejeu.nbTour)
              System.out.println("perdu en "+nbt+"tours");
     
            try{
            Thread.sleep(1000);
            }
             catch(InterruptedException e){}
            }
           }
           nbj++;
           }while(nbj<=lejeu.nbJeu); // faire le jeu autaut de fois que l'utilisateur le demande
     
          afficheJeu();
      }
     
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            Grille = new javax.swing.JPanel();
            jPanel1 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
            restest = new javax.swing.JLabel();
            jPanel2 = new javax.swing.JPanel();
            pg = new javax.swing.JLabel();
            PGagne = new javax.swing.JLabel();
            jPanel3 = new javax.swing.JPanel();
            pp = new javax.swing.JLabel();
            PPerdu = new javax.swing.JLabel();
            jPanel4 = new javax.swing.JPanel();
            pdr = new javax.swing.JLabel();
            ResultatPourc = new javax.swing.JLabel();
            jPanel5 = new javax.swing.JPanel();
            jPanel6 = new javax.swing.JPanel();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     
            Grille.setLayout(new java.awt.GridLayout(4, 4));
            getContentPane().add(Grille, java.awt.BorderLayout.CENTER);
     
            jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.Y_AXIS));
     
            jButton1.setText("Lancer le test");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
            jPanel1.add(jButton1);
     
            restest.setText("Resultats du Test:");
            jPanel1.add(restest);
            jPanel1.add(jPanel2);
     
            pg.setText("Parties gagnées:");
            jPanel1.add(pg);
            jPanel1.add(PGagne);
            jPanel1.add(jPanel3);
     
            pp.setText("Parties perdues");
            jPanel1.add(pp);
            jPanel1.add(PPerdu);
            jPanel1.add(jPanel4);
     
            pdr.setText("Pourcentage de réussite");
            jPanel1.add(pdr);
            jPanel1.add(ResultatPourc);
            jPanel1.add(jPanel5);
            jPanel1.add(jPanel6);
     
            getContentPane().add(jPanel1, java.awt.BorderLayout.WEST);
     
            pack();
        }// </editor-fold>                        
     
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
          Thread t = new Thread(){
       public void run()
       {
          jeu();
    float res=(float)nbgagne/(float)lejeu.nbJeu;
           ResultatPourc.setVisible(true);
           ResultatPourc.setText((res*100)+"%");
           PPerdu.setVisible(true);
           PPerdu.setText((lejeu.nbJeu-nbgagne)+"parties");
           PGagne.setVisible(true);
           PGagne.setText(nbgagne+"parties");
       }
    };
    t.start();
           restest.setVisible(true);
           pp.setVisible(true);
           pg.setVisible(true);
           pdr.setVisible(true);
     
        }                                        
     
     
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    PlateauJeu pj=new PlateauJeu();
                    pj.setVisible(true);
                    pj.setSize(500, 500);
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JPanel Grille;
        private javax.swing.JLabel PGagne;
        private javax.swing.JLabel PPerdu;
        private javax.swing.JLabel ResultatPourc;
        private javax.swing.JButton jButton1;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JPanel jPanel3;
        private javax.swing.JPanel jPanel4;
        private javax.swing.JPanel jPanel5;
        private javax.swing.JPanel jPanel6;
        private javax.swing.JLabel pdr;
        private javax.swing.JLabel pg;
        private javax.swing.JLabel pp;
        private javax.swing.JLabel restest;
        // End of variables declaration                   
     
    }
    ou est mon erreur???

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/05/2007, 17h43
  2. [VB.NET] image d'un bouton dans un panel dans une fentre MDI
    Par smedini dans le forum Windows Forms
    Réponses: 6
    Dernier message: 02/02/2006, 18h15
  3. [AWT] Image dans un Panel
    Par -Jolan- dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 29/12/2005, 15h57
  4. Image dans un Panel
    Par Pfeffer dans le forum Composants
    Réponses: 14
    Dernier message: 01/01/2005, 21h16
  5. [image] dans un panel
    Par phoebe dans le forum Composants
    Réponses: 4
    Dernier message: 13/07/2004, 10h44

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