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

  FORUM HardWare.fr
  Programmation
  Java

  [edit] aide java (comment inserer une image dans une fenetre ??)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[edit] aide java (comment inserer une image dans une fenetre ??)

n°370053
bob_thekin​g
Posté le 24-04-2003 à 00:27:32  profilanswer
 

Salut tlm !!
j'aurais besoin d'aide. je fais un p'tit jeu qui ce deroule ds une fenetre et j'aimerais savoir comment fo faire pour qu'elle se ferme qd on clique sur la croix plutot que de faire ctrl-c.
j'ai ecouter dire que c'est avec des "listener" ou un truc comme ca.
j'aimerais aussi savoir comment fais pour mettre des boutons ds une fenetre.
si vous avez des liens avec des cours de java, je suis preneur.  
pouvez vous m'aider, merci.
 
[EDIT]
g reussi a faire fermer la fenetre et a mettre un bouton mais maintenant je voudrais inserer une image dans cette fenetre (et pas dans une applet) mais je sais pas comment faire et j'arrive pas a trouver de doc la dessus, c a chaque fois pour un applet et pas pour une Jframe.
j'ai remis ma class plateau a jour, ds le post en dessous, si ca peut vous aider.  
si vous pouviez m'aider, c serait cool.  :jap:


Message édité par bob_theking le 28-04-2003 à 03:19:41
mood
Publicité
Posté le 24-04-2003 à 00:27:32  profilanswer
 

n°370068
Deaddy
Posté le 24-04-2003 à 01:01:53  profilanswer
 
n°370089
benou
Posté le 24-04-2003 à 08:32:55  profilanswer
 

dans le windowClosed, tu fais un System.exit(0) pour arrêter ton prog


---------------
ma vie, mon oeuvre - HomePlayer
n°370126
souk
Tourist
Posté le 24-04-2003 à 09:29:35  profilanswer
 

sinon, si tu utilises un derive de JFrame, tu peux faire un
 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

n°370222
benou
Posté le 24-04-2003 à 11:17:24  profilanswer
 

souk a écrit :


setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


ha, tiens, je connaissais pas ca. Coll ! merci ! :)

n°370223
Cherrytree
cn=?
Posté le 24-04-2003 à 11:20:19  profilanswer
 

Sauf que quand tu hérites, tu fais juste un setDefaultCloseOperation(EXIT_ON_CLOSE).
 
Attention toutefois, windowClosing et DefaultCloseOperation peuvent s'utiliser en même temps, notamment pour le cas où plusieurs frames sont affichées à l'écran, windowClosing a une priorité sur DefaultCloseOperation il me semble. A vérifier, mais il faut savoir qu'un mécanisme impliquant les deux instructions est possible.


---------------
Le site de ma maman
n°370249
bob_thekin​g
Posté le 24-04-2003 à 11:42:36  profilanswer
 

merci pour vos reponse, mais j'avoue que je voie pas trop comment faire, c ou qu'il fo que j'y integre ds le prog.
je vous met ma class plateau :
 
package jeu;
import java.awt.event.*;
import java.awt.*;
import java.applet.*;
import javax.swing.*;
import javax.swing.border.Border;
import java.util.*;
 
public class Plateau extends JFrame {
    Environnement env;
    Moutons[] mou;
    Font f;
 
   
    int k=0, hauteur = 400, largeur = 400, taillecase = 40, nbmouton, nbstep=3;
 
    private class Quit implements ActionListener {
 public void actionPerformed(ActionEvent e) {
     k = -1;
     repaint();
 }
    }
 
    public Plateau(Environnement en,Moutons[] moutons, int nbm) {
 super("Jeu Loup - Agneau" );
 
   nbmouton = nbm;
 mou = moutons;
 env = en;
    }
     
    public void intro(Graphics g){
 
 g.setColor(Color.black);
 g.fillRect(0,0,800,600);
 g.setColor(Color.white);
 f = new Font("Courier", Font.BOLD, 20);
 g.setFont(f);
 g.drawString("Jeu LOUP-AGNEAU",300,300);
 try { Thread.sleep(1000);} catch (Exception ex){}
 g.setColor(Color.black);
 g.fillRect(0,0,600,600);
 g.setColor(Color.white);
 g.drawString("Présenté par",315,300);
 try { Thread.sleep(2000);} catch (Exception ex){}
 g.setColor(Color.black);
 g.fillRect(0,0,600,600);
 g.setColor(Color.white);
 g.drawString("Coupat Julien",315,280);
 g.drawString("ET",380,300);
 g.drawString("Fernandes François",285,320);
 try { Thread.sleep(2000);} catch (Exception ex){}
 g.setColor(Color.black);
 g.fillRect(0,0,600,600);
 g.setColor(Color.white);
 g.drawString("Oublie pas de regarder en dessous du plateau",70,320);
 try { Thread.sleep(4000);} catch (Exception ex){}
 g.drawString("et de cliquez sur le bouton",200,350);
 try { Thread.sleep(4000);} catch (Exception ex){}
 g.drawString("qd tora fini de tou admirer, bien sur !!",100,400);
 try { Thread.sleep(4000);} catch (Exception ex){}
 g.setColor(Color.black);
 g.fillRect(0,0,600,600);
 g.setColor(Color.white);
 g.drawString("bon fini les conneries, place au chef d'oeuvre !!!!!",70,320);
 try { Thread.sleep(4000);} catch (Exception ex){}
 
 g.drawString("lol",400,350);
 try { Thread.sleep(4000);} catch (Exception ex){}
 
 Container container = getContentPane();
 JPanel pane = new JPanel();
 pane.setBorder(BorderFactory.createEmptyBorder(500,650,40,30));
 pane.setLayout(new GridLayout(1,0));
 pane.setBackground(Color.white);
 container.add(pane);
 
 JButton Quit = new JButton("Quit" );
 Quit.addActionListener(new Quit());
 pane.add(Quit);
 setVisible(true);
    }
 
    public void quitter(Graphics g) {
 
 g.setColor(Color.black);
 g.fillRect(0,0,800,600);
 g.setColor(Color.blue);
 f = new Font("Helvetica", Font.BOLD+Font.ITALIC, 40);
 g.setFont(f);
 for (int i=600 ; i>300 ; i--){
     g.setColor(Color.blue);
     g.drawString("Au revoir",300,i);
     try { Thread.sleep(10);} catch (Exception ex){}
     g.setColor(Color.black);
     g.drawString("Au revoir !!",300,i);
 }
 
 g.setColor(Color.white);
 try { Thread.sleep(2000);} catch (Exception ex){}
 g.drawString("C T Zoli, hein ??!!",200,320);
 
 
 try { Thread.sleep(4000);} catch (Exception ex){}
 System.exit(0);
 
    }  
 
 
    public void paint(Graphics g) {
  Image im;
    Date aujourdhui = new Date();
 
 if (k==-1) quitter(g);
 if (k == 0){
     k++;
     //im = getToolKit().getImage("moutons.JPG" );
     //image_width = get.Width(this);
     //image_height = get.Height(this);
     // g.drawImage(im, 200, 200, this);
     intro(g);
     repaint();
     return;
 }
   
 // dessin du plateau
 g.setColor(Color.white);
 g.fillRect(0,0,600,600);
 g.setColor(Color.green);
 g.fill3DRect(50,70,largeur,hauteur,true);
 g.setColor(Color.black);
 for (int i=0 ; i<10 ; i++){
     for (int j=0 ; j<10 ; j++){
  g.drawLine( (i*taillecase)+50 , 70 , (i*taillecase)+50 , 70+hauteur);
  g.drawLine( 50 , (j*taillecase)+70 , 50+largeur , (j*taillecase)+70 );
  g.setColor(Color.red);
  g.drawString(" "+i,(i*taillecase)+65,65);
  g.drawString(" "+i,35,(i*taillecase)+95);
  g.setColor(Color.black);
   
     }
 }
 g.drawLine(450,70,450,470);
 g.drawLine(50,470,450,470);
 
 // legende et date
 g.drawArc(70,480,25,25,0,360);
 g.drawString("Mouton",110,497);
 
 g.setColor(Color.blue);
 g.drawString("Jeu Loup - Agneau",200,45);
 
 // Affichage de la date
 g.setColor(Color.red);
 g.drawString(aujourdhui+" ", 300, 550);
 
 g.setColor(Color.black);
 
 for (int i=0;i<nbmouton;i++){
     if (!(env.p[mou[i].position.getx()][mou[i].position.gety()])) {    
  g.drawArc((((mou[i].position.getx())*40)+57),(((mou[i].position.gety())*40)+77),25,25,0,360);
 
     }
 }  
 
 // on deplace 3 fois les 10 moutons  
         
 if (k >= nbstep*nbmouton) return;
 k++;
 //System.out.println();
 
 // on deplace 1 fois les 10 moutons
 
 g.setColor(Color.red);
 g.drawArc((((mou[k%nbmouton].position.getx())*40)+57),(((mou[k%nbmouton].position.gety())*40)+77),25,25,0,360);
 try { Thread.sleep(2000);} catch (Exception ex){}
 
 
 g.setColor(Color.green);
 g.drawArc((((mou[k%nbmouton].position.getx())*40)+57),(((mou[k%nbmouton].position.gety())*40)+77),25,25,0,360);
 try { Thread.sleep(1000);} catch (Exception ex){}
   
 mou[k%nbmouton].step();
 System.out.println
 (
   "("+mou[k%nbmouton].position.getx()
  +","+mou[k%nbmouton].position.gety()+" )"
  );
 
 if (!(env.p[mou[k%nbmouton].position.getx()][mou[k%nbmouton].position.gety()])) {
     g.setColor(Color.black);
     g.drawArc((((mou[k%nbmouton].position.getx())*40)+57),(((mou[k%nbmouton].position.gety())*40)+77),25,25,0,360);
     try { Thread.sleep(2000);} catch (Exception ex){}
     
 }
 repaint();
     
    } // paint
} //plateau
 
dsl mais je debute.
 :sweat:


Message édité par bob_theking le 28-04-2003 à 03:22:00
n°370358
Cherrytree
cn=?
Posté le 24-04-2003 à 13:34:23  profilanswer
 

Code :
  1. public Plateau(Environnement en,Moutons[] moutons ) {
  2.     super("Jeu Loup - Agneau" );
  3.  
  4.     mou = moutons;
  5.     env = en;
  6.     setDefaultCloseOperation(EXIT_ON_CLOSE);
  7. }


Message édité par Cherrytree le 24-04-2003 à 13:34:39

---------------
Le site de ma maman
n°370375
bob_thekin​g
Posté le 24-04-2003 à 13:52:13  profilanswer
 

juste ca ??   :pt1cable:  
j'essaye de suite.

n°370403
bob_thekin​g
Posté le 24-04-2003 à 14:03:45  profilanswer
 

bon ce ke tu m'a donné marche mais ca ferme la fenetre qu'a la fin de l'application et ce que je voudrais (j'sais j'suis chiant)c'est pouvoir fermer la fenetre a n'importe quel moment, meme qd le prog tourne.

mood
Publicité
Posté le 24-04-2003 à 14:03:45  profilanswer
 

n°370464
Cherrytree
cn=?
Posté le 24-04-2003 à 14:46:18  profilanswer
 

Comprends pas.


---------------
Le site de ma maman
n°370492
bob_thekin​g
Posté le 24-04-2003 à 14:59:16  profilanswer
 

Cherrytree a écrit :

Comprends pas.


tu comprends pas ce ke je veux ??
ben en fait, avec ce ke tu m'as donner,le prog tourne jusqu'a la fin et c seulement a la fin que la fenetre ce ferme meme si g cliquer pendant ke le prog tourne. il attend d'avoir tout fait pour ce fermer.

n°370511
veryfree
Posté le 24-04-2003 à 15:07:26  profilanswer
 

souk a écrit :

sinon, si tu utilises un derive de JFrame, tu peux faire un
 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 


 
 
pas besoin de dérivé pour ca  
maFrame.SetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
 
enfin le mieux ca reste qd meme de faire un truc du genre:
 

Code :
  1. addWindowListener(new WindowAdapter() {
  2.             public void windowClosing(WindowEvent e) {
  3. //ici tu fou un peu ce que tu veux genre: "etes vous sure de vouloir fermer l appli? cela mettra fin a la partie..."
  4.                 System.exit(0);
  5.             }
  6.         });


 
 
 
edit:  
c'est quoi ca :D
 
        for (int k=0;k<3;k++){
         System.out.println(); << ??
sinon utilise la balise "code" c plus lisible ;)


Message édité par veryfree le 24-04-2003 à 15:14:20
n°370521
Cherrytree
cn=?
Posté le 24-04-2003 à 15:14:46  profilanswer
 

Stadire avec tes Thread.sleep()... ça sort un peu du cadre de mes connaissances. Les applications Swing gèrent pas les threads par défaut. Question : à quoi ça sert de faire tous ces sleep, partout ?


---------------
Le site de ma maman
n°370523
Cherrytree
cn=?
Posté le 24-04-2003 à 15:16:07  profilanswer
 

veryfree a écrit :


enfin le mieux ca reste qd meme de faire un truc du genre:


N'importe quoi ! C'est la même chose avec une notion de priorité permettant entre autres de gérer des cas particuliers lorsque plusieurs Frames sont affichées.


---------------
Le site de ma maman
n°370526
veryfree
Posté le 24-04-2003 à 15:17:45  profilanswer
 

Cherrytree a écrit :


N'importe quoi ! C'est la même chose avec une notion de priorité permettant entre autres de gérer des cas particuliers lorsque plusieurs Frames sont affichées.


 
c mieux dans la mesure ou tu personnalise la fermeture de la fenetre  :o  
 
dans une vrai appli t a toujours besoin de faire certaine chose lorsque l utilisateur click sur la croix  
avec setDefaultCloseOperation() c'est pas possible :o


Message édité par veryfree le 24-04-2003 à 15:18:01
n°370528
Cherrytree
cn=?
Posté le 24-04-2003 à 15:18:55  profilanswer
 

veryfree a écrit :


 
c mieux dans la mesure ou tu personnalise la fermeture de la fenetre  :o  
 
dans une vrai appli t a toujours besoin de faire certaine chose lorsque l utilisateur click sur la croix  
avec setDefaultCloseOperation() c'est pas possible :o


spafaux, mais ici, c'est équivalent.


---------------
Le site de ma maman
n°370533
veryfree
Posté le 24-04-2003 à 15:20:48  profilanswer
 

Cherrytree a écrit :


spafaux, mais ici, c'est équivalent.


 
oui ici ca conviens tres bien  
c pour ca que j ai écrit que c était mieux j ai pas dit que c etait mal
 
 
d ailleurs les exemples du site de sun sont bourré de setDefaultCloseOperation...


Message édité par veryfree le 24-04-2003 à 15:21:50
n°370566
bob_thekin​g
Posté le 24-04-2003 à 15:40:32  profilanswer
 

veryfree > le "System.out.println();" c juste pour soter une ligne, il ecrit rien.
Cherrytree > les "try { Thread.sleep(1000);} catch (Exception ex){}" c pour attendre un moment pour pas que ca aille trop vite parce que sinon on voit pas ce qu'il se passe. c comme les delay en pascal.

n°370574
bob_thekin​g
Posté le 24-04-2003 à 15:42:33  profilanswer
 

cherytree > le code que tu m'as donné je le met ou, parce que c bien ca ke j'avais vu sur un site et j'ai essayer de l'inserer mais ca marchait pas. j'avais pas du le mettre au bon endroit.  :sweat:

n°370579
veryfree
Posté le 24-04-2003 à 15:45:31  profilanswer
 

bob_theking a écrit :

cherytree > le code que tu m'as donné je le met ou, parce que c bien ca ke j'avais vu sur un site et j'ai essayer de l'inserer mais ca marchait pas. j'avais pas du le mettre au bon endroit.  :sweat:  


 
 
tu le met a la fin du constructeur
 
regarde bien ce qu a mis cherrytree plus haut

n°370645
bob_thekin​g
Posté le 24-04-2003 à 16:04:54  profilanswer
 

j'dois etre vraiment con mais j'y arrive pas.  :cry:  
g bien mis le listener a la fin du constructeur mais qd je clique sur la croix il ne se passe rien... et la fenetre se ferme a la fin de l'appli comme avec le  
" setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); "

n°370656
veryfree
Posté le 24-04-2003 à 16:07:58  profilanswer
 

bob_theking a écrit :

j'dois etre vraiment con mais j'y arrive pas.  :cry:  
g bien mis le listener a la fin du constructeur mais qd je clique sur la croix il ne se passe rien... et la fenetre se ferme a la fin de l'appli comme avec le  
" setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); "


 
c'est a cause de tes fichus Thread.Sleep...
c'est pas top
le mieux c'est de faire une une class qui etend Thread plutot..
 
si tu sait pas comment faire >> http://penserenjava.free.fr

n°370700
souk
Tourist
Posté le 24-04-2003 à 16:27:08  profilanswer
 

Cherrytree a écrit :

Sauf que quand tu hérites, tu fais juste un setDefaultCloseOperation(EXIT_ON_CLOSE).


 
punaise !!! quand je pense que ca fait un bout de temps que je tape le JFrame pour rien... merci de la remarque  :jap:

n°370703
veryfree
Posté le 24-04-2003 à 16:29:15  profilanswer
 

souk a écrit :


 
punaise !!! quand je pense que ca fait un bout de temps que je tape le JFrame pour rien... merci de la remarque  :jap:  


 
tu peux aussi mettre 3 a la place de EXIT_ON_CLOSE  :o

n°370717
lorill
Posté le 24-04-2003 à 16:38:10  profilanswer
 

veryfree a écrit :


tu peux aussi mettre 3 a la place de EXIT_ON_CLOSE  :o  


supaire... comme ca dans le jdk suivant quand ils s'amuseront a changer la valeur de la constante, ca marchera plus.
 
qu'est ce qu'on s'amuse ici :o

n°370761
bob_thekin​g
Posté le 24-04-2003 à 17:00:47  profilanswer
 

je vous met tout ce dont je me sert pour mon prog, si des fois ca peut aider puisque je n'y suis tjrs pas arrivé :
 
la classe position
 
package jeu;
import java.util.Vector;
public class Position{
    private int x,y;
    public Position(int a, int b) {
 x=a;
 y=b;
    }
    public int getx(){
 return x;
    }
    public int gety(){
 return y;
    }
    public void setpos(int a, int b) {
 x=a;
 y=b;
    }
}
 
la classe mouton
package jeu;
import java.util.Vector;
 
 public class Moutons{
    Position position;
    Environnement environnement;
    String nom;
 
 public Moutons(Environnement en,Position posi,String mot){
    environnement=en;
    position=posi;
    nom=mot;
    }
 
 public void step () {
 
      // Initialisation des variables utilisées pour le déplacement
 int compteur=0;
 int px[];
 int py[];
 px = new int[9];
 py = new int[9];
 
 // Test les neuf cases entourant la position du mouton
 for (int i=1 ; i<4 ; i++) {
   for (int j=1 ; j<4 ; j++) {
 
          // Test si le mouton se situe sur les bords de l'environnement
         if (((position.getx()+i-2)<(int)(environnement.nblargeur)-1) && ((position.getx()+i-2)>=0) &&  ((position.gety()+j-2)>=0) && ((position.gety()+j-2)<(int)(environnement.nblargeur)))
 
  // Test si la case est vide
 if (environnement.p[position.getx()+i-2][position.gety()+j-2]) {
         /* On garde les positions possibles dans deux tableaux
  compteur : nombre de cases libres
  */
  px[compteur] = position.getx()+i-2;
  py[compteur] = position.gety()+j-2;
  compteur++;
   } //if
    } //boucle for j
         } //boucle for i
 
 // Cas où aucune cas n'est libre  
 if (compteur == 0) {
    System.out.println(" Deplacement impossible " );
 }  //if
 
 // Un seul cas possible
 if (compteur == 1) {
         environnement.p[px[1]][py[1]]=false;
         environnement.p[position.getx()][position.gety()]=true;
  position.setpos(px[1],py[1]);
 } //if
 
 // Cas où plusieurs déplacement sont possibles  
 if (compteur > 1) {
    // Choix aleatoire d'une case libre
   int choix = (int)(Math.random()*compteur);
          environnement.p[px[choix]][py[choix]]=false;
          environnement.p[position.getx()][position.gety()]=true;
          position.setpos(px[choix],py[choix]);
 } //if
   } //step    
}
 
la classe environnement
 
package jeu;
import java.awt.event.*;
import java.awt.*;
import java.applet.*;
import javax.swing.*;
 
public class Environnement{
 
     // initialisation de la taille de l'environnement
    int nblargeur;
    boolean[][] p;
 
    public  Environnement(int larg){
      nblargeur=larg;
      p=new boolean[larg][larg];
    }
 
    public void Setfalse(int x,int y){
     p[x][y]=false;
    }
 
    public boolean getenv(int a,int b){
  return p[a][b];
    }
 
    public void Settrue(int x,int y){
 p[x][y]=true;
    }
 
    /* On place les moutons dans l'environnement
       les paramètres:
    - nbmouton : nombre de mouton
    - Position[] pos: tableau comprenant la position propre de chaque mouton
    - int[][] en: tableau d'entiers ( 0 : case libre , 1 : case occupée )
    */
 
    public void init(int nbmouton,Moutons[] moutons){
 
      // Initialisation de la position de chaque mouton
 for(int i=0 ; i<nbmouton ; i++){
  boolean ex=true;
   while (ex){
     ex=false;
            Position d=new Position((int)(nblargeur*Math.random()),(int)(nblargeur*Math.random()));
     moutons[i]=new Moutons(this,d,"max" );
 
  // Vérification qu'aucun des moutons se superposent
 
  for (int j=0 ; (j<i) && (!ex) ; j++){
   if ((moutons[i].position.getx()==moutons[j].position.getx()) && (moutons[i].position.gety()==moutons[i].position.gety()))
      ex=true;
  } // fin du for j
    } // fin du while
 
 // Affichage des positions
        System.out.println("("+moutons[i].position.getx()+","+moutons[i].position.gety()+" )" );
 
        // Sauvegarde de l'etat de l'environnement
 
      p[moutons[i].position.getx()][moutons[i].position.gety()]=false;
 
 } //fin du for i
    }  //fin init
 
}
 
 
la classe plateau
 
package jeu;
import java.awt.event.*;
import java.awt.*;
import java.applet.*;
import javax.swing.*;
import javax.swing.border.Border;
import java.util.*;
 
public class Plateau extends JFrame {
    Environnement env;
    Moutons[] mou;
    Font f;
 
   
    int k=0, hauteur = 400, largeur = 400, taillecase = 40, nbmouton, nbstep=3;
 
    private class Quit implements ActionListener {
 public void actionPerformed(ActionEvent e) {
     k = -1;
     repaint();
 }
    }
 
    public Plateau(Environnement en,Moutons[] moutons, int nbm) {
 super("Jeu Loup - Agneau" );
 
   nbmouton = nbm;
 mou = moutons;
 env = en;
    }
     
    public void intro(Graphics g){
 
 g.setColor(Color.black);
 g.fillRect(0,0,800,600);
 g.setColor(Color.white);
 f = new Font("Courier", Font.BOLD, 20);
 g.setFont(f);
 g.drawString("Jeu LOUP-AGNEAU",300,300);
 try { Thread.sleep(1000);} catch (Exception ex){}
 g.setColor(Color.black);
 g.fillRect(0,0,600,600);
 g.setColor(Color.white);
 g.drawString("Présenté par",315,300);
 try { Thread.sleep(2000);} catch (Exception ex){}
 g.setColor(Color.black);
 g.fillRect(0,0,600,600);
 g.setColor(Color.white);
 g.drawString("Coupat Julien",315,280);
 g.drawString("ET",380,300);
 g.drawString("Fernandes François",285,320);
 try { Thread.sleep(2000);} catch (Exception ex){}
 g.setColor(Color.black);
 g.fillRect(0,0,600,600);
 g.setColor(Color.white);
 g.drawString("Oublie pas de regarder en dessous du plateau",70,320);
 try { Thread.sleep(4000);} catch (Exception ex){}
 g.drawString("et de cliquez sur le bouton",200,350);
 try { Thread.sleep(4000);} catch (Exception ex){}
 g.drawString("qd tora fini de tou admirer, bien sur !!",100,400);
 try { Thread.sleep(4000);} catch (Exception ex){}
 g.setColor(Color.black);
 g.fillRect(0,0,600,600);
 g.setColor(Color.white);
 g.drawString("bon fini les conneries, place au chef d'oeuvre !!!!!",70,320);
 try { Thread.sleep(4000);} catch (Exception ex){}
 
 g.drawString("lol",400,350);
 try { Thread.sleep(4000);} catch (Exception ex){}
 
 Container container = getContentPane();
 JPanel pane = new JPanel();
 pane.setBorder(BorderFactory.createEmptyBorder(500,650,40,30));
 pane.setLayout(new GridLayout(1,0));
 pane.setBackground(Color.white);
 container.add(pane);
 
 JButton Quit = new JButton("Quit" );
 Quit.addActionListener(new Quit());
 pane.add(Quit);
 setVisible(true);
    }
 
    public void quitter(Graphics g) {
 
 g.setColor(Color.black);
 g.fillRect(0,0,800,600);
 g.setColor(Color.blue);
 f = new Font("Helvetica", Font.BOLD+Font.ITALIC, 40);
 g.setFont(f);
 for (int i=600 ; i>300 ; i--){
     g.setColor(Color.blue);
     g.drawString("Au revoir",300,i);
     try { Thread.sleep(10);} catch (Exception ex){}
     g.setColor(Color.black);
     g.drawString("Au revoir !!",300,i);
 }
 
 g.setColor(Color.white);
 try { Thread.sleep(2000);} catch (Exception ex){}
 g.drawString("C T Zoli, hein ??!!",200,320);
 
 
 try { Thread.sleep(4000);} catch (Exception ex){}
 System.exit(0);
 
    }  
 
 
    public void paint(Graphics g) {
  Image im;
    Date aujourdhui = new Date();
 
 if (k==-1) quitter(g);
 if (k == 0){
     k++;
     //im = getToolKit().getImage("moutons.JPG" );
     //image_width = get.Width(this);
     //image_height = get.Height(this);
     // g.drawImage(im, 200, 200, this);
     intro(g);
     repaint();
     return;
 }
   
 // dessin du plateau
 g.setColor(Color.white);
 g.fillRect(0,0,600,600);
 g.setColor(Color.green);
 g.fill3DRect(50,70,largeur,hauteur,true);
 g.setColor(Color.black);
 for (int i=0 ; i<10 ; i++){
     for (int j=0 ; j<10 ; j++){
  g.drawLine( (i*taillecase)+50 , 70 , (i*taillecase)+50 , 70+hauteur);
  g.drawLine( 50 , (j*taillecase)+70 , 50+largeur , (j*taillecase)+70 );
  g.setColor(Color.red);
  g.drawString(" "+i,(i*taillecase)+65,65);
  g.drawString(" "+i,35,(i*taillecase)+95);
  g.setColor(Color.black);
   
     }
 }
 g.drawLine(450,70,450,470);
 g.drawLine(50,470,450,470);
 
 // legende et date
 g.drawArc(70,480,25,25,0,360);
 g.drawString("Mouton",110,497);
 
 g.setColor(Color.blue);
 g.drawString("Jeu Loup - Agneau",200,45);
 
 // Affichage de la date
 g.setColor(Color.red);
 g.drawString(aujourdhui+" ", 300, 550);
 
 g.setColor(Color.black);
 
 for (int i=0;i<nbmouton;i++){
     if (!(env.p[mou[i].position.getx()][mou[i].position.gety()])) {    
  g.drawArc((((mou[i].position.getx())*40)+57),(((mou[i].position.gety())*40)+77),25,25,0,360);
 
     }
 }  
 
 // on deplace 3 fois les 10 moutons  
         
 if (k >= nbstep*nbmouton) return;
 k++;
 //System.out.println();
 
 // on deplace 1 fois les 10 moutons
 
 g.setColor(Color.red);
 g.drawArc((((mou[k%nbmouton].position.getx())*40)+57),(((mou[k%nbmouton].position.gety())*40)+77),25,25,0,360);
 try { Thread.sleep(2000);} catch (Exception ex){}
 
 
 g.setColor(Color.green);
 g.drawArc((((mou[k%nbmouton].position.getx())*40)+57),(((mou[k%nbmouton].position.gety())*40)+77),25,25,0,360);
 try { Thread.sleep(1000);} catch (Exception ex){}
   
 mou[k%nbmouton].step();
 System.out.println
 (
   "("+mou[k%nbmouton].position.getx()
  +","+mou[k%nbmouton].position.gety()+" )"
  );
 
 if (!(env.p[mou[k%nbmouton].position.getx()][mou[k%nbmouton].position.gety()])) {
     g.setColor(Color.black);
     g.drawArc((((mou[k%nbmouton].position.getx())*40)+57),(((mou[k%nbmouton].position.gety())*40)+77),25,25,0,360);
     try { Thread.sleep(2000);} catch (Exception ex){}
     
 }
 repaint();
     
    } // paint
} //plateau
 
 
et enfin le main
 
package jeu;
import java.awt.event.*;
public class Modele {
 
    final static int nbmouton=10;
 
    public static void main(String[] args) {
 
        Position[] posit=new Position[nbmouton];
 Environnement e=new Environnement(10);
 Moutons[] moutons;
        moutons = new Moutons[nbmouton];
 Plateau p = new Plateau(e,moutons);
 
 
        // Initialisation de l'environnement
 for (int i=0 ; i<10 ; i++){
     for(int j=0 ; j<10; j++){
  e.Settrue(i,j);
     }  // for j
        } // for i
 
        // on place les moutons dans l'environnement
      e.init(nbmouton,moutons);
 try { Thread.sleep(5000);} catch (Exception ex){}
 
 //Plateau p = new Plateau(e);
  p.setSize(600,600);
  p.show();
    } // main
} // Modele


Message édité par bob_theking le 28-04-2003 à 03:23:44
n°370769
Cherrytree
cn=?
Posté le 24-04-2003 à 17:02:06  profilanswer
 

Ta classe Position ne sert à rien : une classe Point existe et fait la même chose. C'est juste un détail, hein.


---------------
Le site de ma maman
n°370772
Cherrytree
cn=?
Posté le 24-04-2003 à 17:03:05  profilanswer
 

C'est quoi Environnement ?


---------------
Le site de ma maman
n°370775
bob_thekin​g
Posté le 24-04-2003 à 17:06:23  profilanswer
 

Cherrytree a écrit :

C'est quoi Environnement ?


 
oups g oublie d'y mettre.  :pt1cable:  
voila c rectifié.


Message édité par bob_theking le 24-04-2003 à 17:08:46
n°371299
Deaddy
Posté le 25-04-2003 à 01:49:06  profilanswer
 

les sleep dans le paint(), c'est pas une bonne idée.
 
cree plutot un thread dans init qui sera chargé de faire tes dessins sur une image et qui lui pourra contenir des sleep et fera appel à repaint() quand tu le desires;
 
le paint() principal aura juste à afficher l'image en question

n°371304
veryfree
Posté le 25-04-2003 à 02:04:26  profilanswer
 

lorill a écrit :


supaire... comme ca dans le jdk suivant quand ils s'amuseront a changer la valeur de la constante, ca marchera plus.
 
qu'est ce qu'on s'amuse ici :o


 
ben ils  samuserons pas a le faire tout simplement pq c'est pas marrant  :D

n°374156
bob_thekin​g
Posté le 28-04-2003 à 12:23:04  profilanswer
 

bon mon probleme de fermeture de fenetre a ete resolu mais maintenant je voudrais inserer une image dans cette fenetre (et pas dans une applet) mais je sais pas comment faire et j'arrive pas a trouver de doc la dessus, c a chaque fois pour un applet et pas pour une Jframe.  
savez vous comment faire ??

n°374219
Cherrytree
cn=?
Posté le 28-04-2003 à 13:22:08  profilanswer
 

Vas voir la classe ImageIcon. Sinon, tu as le Java Tutorial qui montre quelques exemples d'applis Swing qui affichent des images.
 
Par exemple : http://java.sun.com/docs/books/tut [...] lpane.html


---------------
Le site de ma maman
n°374331
bob_thekin​g
Posté le 28-04-2003 à 14:23:26  profilanswer
 

y'a pas un site ou c expliquer en francais parce que l'anglais  :kaola:

n°374410
bob_thekin​g
Posté le 28-04-2003 à 14:54:23  profilanswer
 

le JLabel ca sert a koi ??
c pour l'icone de la barre de titre ou c pour n'importe kel icone (image ??) ??

mood
Publicité
Posté le   profilanswer
 


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

  [edit] aide java (comment inserer une image dans une fenetre ??)

 

Sujets relatifs
Besoin d'aide avec Borland c++ builderBesoin d'aide pr optimisation (ACCESS)
Image et "hyperlien" (?)Besoin d'aide sur la fonction "formulaire"
Ouverture de nouvelle fenêtre browser en JSMais où est le problème ?? Sql/Java [RESOLU]
ou inserer du javascript dans une page php[JAVA ] retour difficile a la prog en java !
[Algo] Détecter l'orientation d'une image (et étapes intermédiaires)[js ? vbs?] récupérer l'image associée d'un programme (icone) ?
Plus de sujets relatifs à : [edit] aide java (comment inserer une image dans une fenetre ??)


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