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 :

Animation d'un JLabel contenant une image


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    :-)
    Inscrit en
    Mars 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : :-)
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2014
    Messages : 194
    Par défaut Animation d'un JLabel contenant une image
    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 : 966
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.

  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
    Si tu arrive déjà à positionner ta boule où tu veux, le plus simple pour l'animation, c'est d'utiliser un swing Timer, c'est dédié à la gestion entre autres d'animations. Une méthode que tu définis sera appelée X fois par seconde. A toi d'y calculer une position et de positionner l'élément comme tu y arrive déjà.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public void bouger(ActionEvent e){
    //faire une étape du mouvement
    }
    //......
     
      int delay = 200; // (5 fois par seconde)  
      new Timer(delay, this::bouger).start();

  3. #3
    Membre éclairé
    Homme Profil pro
    :-)
    Inscrit en
    Mars 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : :-)
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2014
    Messages : 194
    Par défaut
    Tchize//

    *)
    Merci à toi.Cependant peux tu me donner une exemple de code avec cette fonction.Et surtout aprés je vais devoir créer et gérer un personage qui se déplace de gauche à droite.Cette technique est elle alors adaptée ?

    *)De plus je souhaite que l'animation se lance automatiquement à l'ouverture de la fenêtre dans ce cas je n'ai donc pas de "Action event".

    *)Mais aussi qd je lance mon programme aucune erreur n'apparait mais mon ordi il tourne dans le vide à l'infini.

    Et si d'autres personnes ont d'autres solution.

    Merci à vous en tout cas.

    EDIT 1:

    Voici le nouveau code de ma classe obstacle plus claire,je trouve:

    Remarque:Le probléme vient de ttes évidences de la méthode "fctMouvement()" en effet dés que je ne l'appel pas tout s'affiche correctement,sans animation bien sur.
    SVP j'ai vraiment besoin d'aide je ne vois vraiment pas ou est l'erreur d'autant plus que l'ordi ne me renvoie aucune erreur il se contente de tourner indéfiniment sans rien afficher...

    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
    public class Obstacle extends JPanel  {
     
    //Position
    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 Obstacle
    Image imgObstacle =new Image("C:\\Users\\antoine\\Desktop\\imgProjetObstacle.JPG");
    JLabel labImgObstacle =null;
     
    public void fctDessinerObstacle(JFrame fenPrincipale, JPanel panPrincipale) throws IOException{
     
    	int posXDepart=fctHasard(0,fenPrincipale.getWidth()),posYDepart=ImageUtil.getImageHeight(imgObstacle.adresseImg);
     
     
    	posX=posXDepart;
    	posY=posYDepart;
    	labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg));
    	panPrincipale.add(labImgObstacle);
     
    	//fctMouvement(fenPrincipale, labImgObstacle ,panPrincipale,posX,posY);
     
    }
     
    public void fctMouvement(JFrame fenPrincipale, JLabel labImgObstacle , JPanel panPrincipale,int posX ,int posY) throws IOException{
    	boolean continuer=true;
     
    	while(continuer){
    		posY++;
    		labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg));
    		panPrincipale.add(labImgObstacle);
    		panPrincipale.repaint();//remetlefondvierge
    		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);
    		}
    	}
    }
     
     
    }

  4. #4
    Membre éclairé
    Homme Profil pro
    :-)
    Inscrit en
    Mars 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : :-)
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2014
    Messages : 194
    Par défaut
    Bonjour,

    *)Problème en partie résolu.

    En effet j'ai mantenant une "trainée"(voir capture d'écran) et surtout je n'ai pas "l'illusion du mouvement".Cette image s'affiche directement je ne vois pas l'avion bouger.Pourquoi?
    Nom : Capture.JPG
Affichages : 839
Taille : 50,7 Ko

    *)nouvelle classe:
    Voici donc ma nouvelle "classe Obstacle":
    Remarque:Pour rendre le mouvement infini changer en :
    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
    public class Obstacle extends JPanel  {
     
    //Position
    private int posXo,posYo;
    public int getPosXo(){
    	return this.posXo;
    }
    public void setPosXo(int posX){
    	this.posXo=posX;
    }
    public int getPosYo(){
    	return this.posYo;
    }
    public void setPosYo(int posY){
    	this.posYo=posY;
    }
     
    public int fctHasard(int borneInf,int borneSup){
    	int random = (int)(Math.random() * (borneSup-borneInf)) + borneInf;
    	return random;
    }
     
    //
    private Main main1=new Main();
     
    //Image Obstacle
    public Image imgObstacle =new Image("C:\\Users\\antoine\\Desktop\\imgProjetObstacle.JPG");
    public JLabel labImgObstacle =null;
    private int i=0;//pour que le tirage au sort ne se fasse qu'une fois
     
    public int[] fctDessinerObstacle(JFrame fenPrincipale, JPanel panPrincipale,int posX,int posY) throws IOException{
     
    	if(i==0){
    		int posXDepart=fctHasard(0,fenPrincipale.getWidth()); int posYDepart=ImageUtil.getImageHeight(imgObstacle.adresseImg);
    		posX=posXDepart;posY=posYDepart;
    		i++;
    	}
     
    	labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg));
    	panPrincipale.add(labImgObstacle);
     
    	int tabPos[]=new int [2];
    	tabPos[0]=posX;tabPos[1]=posY;
    	return tabPos;
     
    }
     
    //Mouvement Obstacle
    public void fctMouvement(JFrame fenPrincipale, JPanel panPrincipale) throws IOException{
     
    	int tabPos []=fctDessinerObstacle(fenPrincipale, panPrincipale, posXo, posYo);
    	posXo=tabPos[0];posYo=tabPos[1];
    	int continuer = 0;//boolean continuer=true;
     
    	System.out.println("indice posXo:"+tabPos[0]+" ,posYo:"+tabPos[1]);
    	do{
    		//main1.fctFond();
    		posYo++;
    		System.out.println("-indice X:"+posXo+" ,y:"+posYo + " -Compteur="+continuer);//controle
    		if(posYo==fenPrincipale.getHeight()){
    			System.out.println("**************ALERTE! posYo=Hauteur du Label qui le limite**************");//controle
    			posYo=ImageUtil.getImageHeight(imgObstacle.adresseImg);
    			posXo=fctHasard(0,fenPrincipale.getWidth());
    		}
    		fctDessinerObstacle(fenPrincipale, panPrincipale, posXo, posYo);
    		continuer ++;
    	}while(continuer<1000);
    }
     
     
    }

  5. #5
    Membre éclairé
    Homme Profil pro
    :-)
    Inscrit en
    Mars 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : :-)
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2014
    Messages : 194
    Par défaut
    Probléme résolu

    Cependant mon fond disparait et la trainé de l'avion reste.

    Voici ma nouvelle 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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    public class Obstacle extends JPanel  {
     
    //Position
    private int posXo,posYo;
    public int getPosXo(){
    	return this.posXo;
    }
    public void setPosXo(int posX){
    	this.posXo=posX;
    }
    public int getPosYo(){
    	return this.posYo;
    }
    public void setPosYo(int posY){
    	this.posYo=posY;
    }
     
    public int fctHasard(int borneInf,int borneSup){
    	int random = (int)(Math.random() * (borneSup-borneInf)) + borneInf;
    	return random;
    }
     
    //
    private Main main1=new Main();
     
    //Image Obstacle
    public Image imgObstacle =new Image("C:\\Users\\antoine\\Desktop\\imgProjetObstacle.JPG");
    public JLabel labImgObstacle =null;
    private int i=0;//pour que le tirage au sort ne se fasse qu'une fois
     
    public int[] fctDessinerObstacle(JFrame fenPrincipale, JPanel panPrincipale,int posX,int posY) throws IOException{
     
    	if(i==0){
    		int posXDepart=fctHasard(0,fenPrincipale.getWidth()); int posYDepart=ImageUtil.getImageHeight(imgObstacle.adresseImg);
    		posX=posXDepart;posY=posYDepart;
    		i++;
    	}
     
    	labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg));
    	panPrincipale.add(labImgObstacle);
    	fenPrincipale.setVisible(true);
     
    	int tabPos[]=new int [2];
    	tabPos[0]=posX;tabPos[1]=posY;
    	return tabPos;
     
    }
     
    //Mouvement Obstacle
    public void fctMouvement(JFrame fenPrincipale, JPanel panPrincipale) throws IOException{
     
    	int tabPos []=fctDessinerObstacle(fenPrincipale, panPrincipale, posXo, posYo);
    	posXo=tabPos[0];posYo=tabPos[1];
    	int continuer = 0;//boolean continuer=true; 
     
    	System.out.println("indice tabPos[0]:"+tabPos[0]+" ,tabPos[1]:"+tabPos[1]+"  -PosXo="+posXo+" posYo="+posYo);//controle
    	while(continuer<10000){
    		posYo++;
    		System.out.println("-coordonnees X:"+posXo+" ,y:"+posYo + " -Compteur="+continuer);//controle
    		if(posYo==fenPrincipale.getHeight()){
    			System.out.println("**************ALERTE! posYo=Hauteur du Label qui le limite**************");//controle
    			posYo=ImageUtil.getImageHeight(imgObstacle.adresseImg);
    			posXo=fctHasard(0,fenPrincipale.getWidth());
    		}
    		fctDessinerObstacle(fenPrincipale, panPrincipale, posXo, posYo);
    		//main1.fctFond();
    		try {
    	         Thread.sleep(0);
    	    } catch (InterruptedException e) {
    	         e.printStackTrace();
    	    }
    		continuer ++;
     
    	}
    }
     
     
    }

  6. #6
    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
    Citation Envoyé par Pif_Paf_Pouf Voir le message
    Tchize//

    Merci à toi.Cependant peux tu me donner une exemple de code avec cette fonction.
    C'est ce que j'ai fait, t'as juste à remplacer le contenu de la méthode par un truc du genre "bougerLAvionDunCran", ce que tu fais déjà (et mal j'y reviens)
    Citation Envoyé par Pif_Paf_Pouf Voir le message
    Et surtout aprés je vais devoir créer et gérer un personage qui se déplace de gauche à droite.Cette technique est elle alors adaptée ?
    C'est une technique qui te permet d'avoir la main toutes les X millisecondes pour faire un changement graphique. C'est assez adapté pour commencer

    Citation Envoyé par Pif_Paf_Pouf Voir le message
    De plus je souhaite que l'animation se lance automatiquement à l'ouverture de la fenêtre dans ce cas je n'ai donc pas de "Action event".
    Ce n'est pas à toi de fournir cet ActionEvent, tu le reçois (cf c'est un paramètre de ta méthode qui est appelée par swing). Après tu peux l'ignorer t'en a pas besoin pour cet exemple.

    Citation Envoyé par Pif_Paf_Pouf Voir le message
    Probléme résolu

    Cependant mon fond disparait et la trainé de l'avion reste.
    Ta méthode est complètement erronée.
    D'abord tu as une boucle infinie, ce qui ne peut vouloir dire que deux chose:
    • Soit cette boucle tourne dans le Thread Graphique et alors tu ne vois rien car tu monopolise ce thread en empechant swing de faire ses dessins => ce n'est pas bon
    • Soit cette boucle travaille dans le Thread principal de l'application (ce qui semble être le cas). Dans ce cas tu ne peux pas appeler des méthodes sur les composant swing (les add que tu fais, par exemple), c'est interdit de le faire en dehors du Thread graphique et au mieux ton code "tombe en marche".


    Bref il suffit que tu prenne ce qui se trouve entre les crochets du while (hormis le sleep) et que tu le tappe dans la méthode que je t'ai montré avant pour faire fonctionner ton code à l'identique.

    Enfin, la trainée. Ton code se contente d'ajouter un nouveau JLabel 1pixel plus bas à chaque boucle. C'est sympa, mais tu n'a pas supprimé le label précédent => Sur ton image il n'y a pas 1 mais quelques centaines de JLables présents dans la fenêtre. Soit tu supprime le label (un peu lourd) soit tu te content de le déplacer en changeant ses coordonées.


    Je te conseille de jeter un oeil aux docs suivantes:

    http://java.developpez.com/faq/gui/?...#GRAPHIQUE_EDT
    http://java.developpez.com/faq/gui/?...UE_SWING_Timer

Discussions similaires

  1. Récupérer la cellule contenant une image
    Par phpphp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2007, 15h45
  2. Comment mettre en place un Jlabel avec une image de fond?
    Par jlassiramzy dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 08/05/2007, 17h52
  3. Jlabel sur une image de fond est ce possible?
    Par jlassiramzy dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 04/05/2007, 12h29
  4. [JavaMail] recevoir un mail contenant une image
    Par nicotine002 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 26/08/2006, 12h38
  5. [JLabel] changer une image
    Par dadg dans le forum Composants
    Réponses: 5
    Dernier message: 28/09/2004, 10h28

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