Salut,

*)Introduction:
La classe "main" ,"image" et "image util" fonctionne normalement.

*)Présentation:
Voila je voudrais que une image contenue dans un "JLabel",parte du haut de l'écran puis descende progressivement jusqu'à arriver en bas de la fenêtre puis ce mm "JLabel" reprend une position aléatoire en haut de la fenêtre.
voir img:
Nom : prb.png
Affichages : 969
Taille : 8,8 Ko

*)Problème:
Mon problème concerne "seulement" la partie animation.Tout le reste fonctionne(affichage,gestion de la position aléatoire).

*)Précision:
Je tiens à préciser que j'ai vue les threads "officieusement"

*)Code:

Classe Obstacle:
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
public class Obstacle extends JPanel {
 
int posX,posY;
 
public int getPosX(){
	return this.posX;
}
public void setPosX(int posX){
	this.posX=posX;
}
public int getPosY(){
	return this.posY;
}
public void setPosY(int posY){
	this.posY=posY;
}
 
public int fctHasard(int borneInf,int borneSup){
	int random = (int)(Math.random() * (borneSup-borneInf)) + borneInf;
	return random;
}
 
 
Image imgObstacle =new Image("C:\\Users\\antoine\\Desktop\\imgProjetObstacle.JPG");
JLabel labImgObstacle =null;
 
public void fctMvtObstacle(JFrame fenPrincipale, JPanel panPrincipale) throws IOException{
 
	int posXDepart=fctHasard(0,fenPrincipale.getWidth()),posYDepart=ImageUtil.getImageHeight(imgObstacle.adresseImg);
	boolean continuer=true;
 
	posX=posXDepart;
	posY=posYDepart;
	labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg));
	panPrincipale.add(labImgObstacle);
 
	/*while(continuer){
		posY++;
		//remetlefondvierge
		labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg));
		panPrincipale.add(labImgObstacle);
		if(posY==fenPrincipale.getHeight()){
			posX=fctHasard(0,fenPrincipale.getWidth());
			posY=-ImageUtil.getImageHeight(imgObstacle.adresseImg);
			//remet le fond vierge
			labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg));
			panPrincipale.add(labImgObstacle);
		}
 
	}*/
 
}
 
}
Classe Main:
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
public class Main extends JPanel {
 
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		//Principale
		JFrame fenPrincipale=new JFrame("-ProjetNfa032-");//On definit la JFrame //fen=fenetre
		JPanel panPrincipale=new JPanel();
        fenPrincipale.setSize(new Dimension(1024,768));
        fenPrincipale.setResizable(false);
        fenPrincipale.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        int framWidth=fenPrincipale.getWidth() , framHeight=fenPrincipale.getHeight();
 
 
        //Joueur
        Image imgJoueur =new Image("C:\\Users\\antoine\\Desktop\\imgProjetJoueur.gif");
        JLabel labImgJoueur=null;
        try {
			labImgJoueur=imgJoueur.fctAfficherImg(panPrincipale, framWidth/2,framHeight-150,ImageUtil.getImageWidth(imgJoueur.adresseImg), ImageUtil.getImageHeight(imgJoueur.adresseImg));
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
        panPrincipale.add(labImgJoueur);
 
       //Obstacle
        Obstacle obstacle1=new Obstacle();
        try {
			obstacle1.fctMvtObstacle(fenPrincipale, panPrincipale);
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
 
        //fond
        Image imgFond= new Image("C:\\Users\\antoine\\Desktop\\imgProjetFond.jpg");
        JLabel labImgFond = null;
        try {
			labImgFond=imgFond.fctAfficherImg(panPrincipale, 0,0,ImageUtil.getImageWidth(imgFond.adresseImg), ImageUtil.getImageHeight(imgFond.adresseImg));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        panPrincipale.add(labImgFond);
 
 
        //
        fenPrincipale.add(panPrincipale);
        fenPrincipale.setVisible(true);
 
	}
 
}
Merci à vous.
Bonsoir.