Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1281 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Probleme d'affichage de Canvas dans un panel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme d'affichage de Canvas dans un panel

n°233372
Profil sup​primé
Posté le 23-10-2002 à 22:53:00  answer
 

Bon, mon interface marche bien mais si vous connaissez le principe du mastermind, j'ai un probleme avec l'affichage des rectangles qui representerons les emplacements de la combinaison secrete du mastermind. Je mets le code ci dessous et en gras l'algo d'insertion des canevas qui s'affiche po !
 

Citation :

// On essaye de faire un MasterMind...
// Jardy
 
package Mastermind;
 
import java.awt.*;
import java.awt.event.*;
import java.util.*;
 
public class monmaster
{
  class rectCanvas extends Canvas
  {
   boolean estRempli;
   
   rectCanvas(boolean b)
   {estRempli=b;}
   
   public void paint(Graphics g)
   {
    if(estRempli)
    {g.fillRect(0, 0, 30, 30);}
    else
    {g.drawRect(0, 0, 30, 30);}
   }
  }// fin de la classe rectCanvas
   
  class PionCanvas extends Canvas
  {
   PionCanvas()
   {
    super();
    addMouseListener(new MouseAdapter()
    {
     public void mouseReleased(MouseEvent me)
     {
      System.out.println("click" );
     }
    });
   }
     
   public void paint(Graphics g)
   {
    g.setColor(Color.black);
    g.drawOval(0, 0, 30, 30); //getMaximumSize().width, getMaximumSize().height);
   }
  }// fin de la classe PionCanvas
   
  public class buttoncolor extends Button
  {
   
   Color couleurBouton;  
   buttoncolor(String label, Color couleur)
   {
    couleurBouton=couleur;
    setLabel(label);
    setBackground(couleur);
    addMouseListener(new MouseAdapter()
    {
     public void mouseReleased(MouseEvent me)
     {
      System.out.println(couleurBouton.toString());
     }
    });  
   }
  }// fin de la classe buttoncolor
 
 public class monmasterFrame extends Frame
 {
  static final String TITRE="Mastermind by Jardy";
   
   
  Color bleu=new Color(0, 0, 255);
  Color rouge=new Color(255, 0, 0);
  Color vert=new Color(0, 255, 0);
  Color jaune=new Color(255, 255, 0);
  Color noir=new Color(0, 0, 0);
  Color mauve=new Color(255, 0, 255);
   
       
  Panel panelF=new Panel();
  Panel panelP=new Panel();
  Panel panelC=new Panel();
  Panel panelH=new Panel();
   
  int nbgridPaletteX=1;
  int nbgridPaletteY=6;
  int nbgridHistoX=10;
  int nbgridHistoY=5;
  int nbgridCacheX=1;
  int nbgridCacheY=4;
     
  monmasterFrame(final String msg)
  {
   super(TITRE);
       
   addWindowListener(new WindowAdapter()
   {
    public void windowClosing(WindowEvent we)
    {System.exit(0);}
   });
   
   
   
   // mise en place des panel
   add(panelF);
   panelF.setLayout(new BorderLayout());
   panelP.setLayout(new GridLayout(nbgridPaletteX, nbgridPaletteY));
   panelC.setLayout(new GridLayout(nbgridCacheX, nbgridCacheY));
   panelH.setLayout(new GridLayout(nbgridHistoX, nbgridHistoY));
   panelF.add(panelC, BorderLayout.NORTH);
   panelF.add(panelP, BorderLayout.SOUTH);
   panelF.add(panelH, BorderLayout.CENTER);
   
   // dessin des couleurs de la palette
   panelP.add(new buttoncolor("", bleu));
   panelP.add(new buttoncolor("", rouge));
   panelP.add(new buttoncolor("", vert));
   panelP.add(new buttoncolor("", jaune));
   panelP.add(new buttoncolor("", noir));
   panelP.add(new buttoncolor("", mauve));
   panelP.add(new Button("Jouer" ));
   panelP.add(new Button("Corriger" ));
   
   for(int i=0; i<nbgridHistoX; i++)
   {
    for(int j=0; j<nbgridHistoY; j++)
    {
     if(compteurPion==5)
     {
      panelH.add(new rectCanvas(true));
      panelH.add(new rectCanvas(false));
      compteurPion=0;
     }
     else
     {
      panelH.add(new PionCanvas());
     }
     compteurPion++;
    }
   }
   
   for(int i=0; i<nbgridCacheY; i++)
   {
    System.out.println("CA PASSE" );
    panelC.add(new rectCanvas(false));
   }
   
         
   setSize(400,600);
   //pack();
   setResizable(true);
   show();
  }
 }// fin de la classe monmasterFrame
 
 static public String[] Couleurs={"bleu", "rouge", "jaune", "vert", "noir", "mauve"};
 int nbCoups=0;
 int nbPions=4;
 int[] combisecret=new int[4];
 int[] combiessai=new int[4];
 int[] dejatraiteblanc=new int[4];
 int[] dejatraitenoir=new int[4];
 public int compteurPion=1;
 
 
 public String recupererCouleur(int numero)
 {
  String Couleur= new String(Couleurs[numero]);
  return Couleur;
 }  
 
 public int determinernoirs()
 {
  int k=0;
  for(k=0;k<nbPions;k++) dejatraitenoir[k]=9;
  int noirs=0;
  for(k=0;k<nbPions;k++)
  {
   if(combisecret[k]==combiessai[k])
   {
    dejatraitenoir[k]=combisecret[k];
    noirs++;
   }
  }
  return noirs;
 }
 
 public int determinerblancs()
 {
  int k=0;
  for(k=0;k<nbPions;k++) dejatraiteblanc[k]=9;
  int blancs=0;
  int j=0;
  for(k=0;k<nbPions;k++)
  {
   for(j=0;j<nbPions;j++)
   {
    if(combisecret[k]!=combiessai[k])
    {
     if(combisecret[j]==combiessai[k])
     {
      if(combisecret[j]!=dejatraitenoir[j])
      {
       if(combisecret[j]!=dejatraiteblanc[j])
       {
        dejatraiteblanc[j]=combisecret[j];
        blancs++;
        j=nbPions+1;
       }
      }
     }
    }
    else
    {
     dejatraiteblanc[k]=combisecret[k];
     j=nbPions+1;
    }
   }
   
  }
  return blancs;
 }
   
 public void joueruncoup()
 {
  // essai en dur dans le fichier java
  combiessai[0]=1;
  combiessai[1]=1;
  combiessai[2]=0;
  combiessai[3]=0;
 
  for(int z=0;z<nbPions;z++)
  {
   System.out.println(recupererCouleur(combiessai[z]));
  }
  // fin de essai en dur
   
  int nbNoirs=determinernoirs();
  int nbBlancs=determinerblancs();
   
  System.out.print("Vous avez " );
  System.out.print(nbNoirs);
  System.out.println(" noirs" );
  System.out.print("Vous avez " );
  System.out.print(nbBlancs);
  System.out.println(" blancs" );
   
  // Test si gagne
 }
 
 //constructeur
 monmaster()
 {
  new monmasterFrame("" );
  Random unRandom=new Random();
  for(int i=0;i<nbPions;i++)
  {
   int pion=unRandom.nextInt(6);
   combisecret[i]=pion;
   System.out.println(recupererCouleur(pion));
  }
 
  joueruncoup();  
 }
   
 static public void main(String[] args)
 {
  monmaster unMaster=new monmaster();
 }
}// Fin de la classe monmaster

mood
Publicité
Posté le 23-10-2002 à 22:53:00  profilanswer
 

n°233601
popov
Posté le 24-10-2002 à 10:21:03  profilanswer
 

:??:  
 
personne veu aider mon poto jardy?
 :??:  
 [:totoz]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Probleme d'affichage de Canvas dans un panel

 

Sujets relatifs
[C] Probleme de noms de fichier longs....Problème avec une requête SQL
[PHP] Problème de configuration de PHP sur ma machine[Urgent] Probleme de communication
[XHTML 1.1] Problème de validationProblème avec les sessions
Lecture d'un fichier... problème de Read !!![Active X] Affichage de carte du monde
Problème sur la classe Fileprobleme avec une variable NULL (en access)
Plus de sujets relatifs à : Probleme d'affichage de Canvas dans un panel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR