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

AWT/Swing Java Discussion :

image qui disparait d'une fenêtre


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut image qui disparait d'une fenêtre
    bonjour j'ai cette classe qui permet d'afficher une image dans une fenêtre l'image s'affiche mais le problème c'est qu'elle disparaît très rapidement :
    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
     
    import java.awt.Graphics;
    import java.awt.Point;
    import java.awt.image.BufferedImage;
    import javax.swing.JFrame;
     
    public class ImagedansFenetre extends JFrame
    {
    	private static final long serialVersionUID = 1053653991150137810L;
    	public int y;
    	public int x;
    	public int height;
    	public int width;
     
    	public ImagedansFenetre(int width,int height, int x, int y) 
    	{
    		this.setSize(width,height);
    		this.height = height;
    		this.width = width;
    		this.x = x - 10;
    		this.y = y - 10;
    	}
    	public void start(BufferedImage image)
    	{
    		this.setAlwaysOnTop(true);
    		this.setUndecorated(true);
                    this.setLocation(new Point(this.x, this.y));
                   this.setVisible(true);
    		Graphics g = this.getGraphics();	
    		g.drawImage(image,0,0,null);
    		g.dispose();
    	}
    }
    merci d'avance

  2. #2
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut
    qu'entend tu par très rapidement ?
    Sinon peut être à cause du g.dispose();
    Ou bien le repaint

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    l'image apprait et disparaît au bout d'une seconde. j'ai enlevé le g.dispose() ça reste la même chose.

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Je ne vois pas comment ton code peut fonctionner comme ça.

    En tous les cas, il faut faire toutes les actions graphiques dans le cadre des méthodes paint et de leurs dérivés. Sinon, tout ce que tu feras va s'effacer à un moment ou à un autre, remplacé par le paint normal.

    Voir par ex. Performing Custom Painting,mais enfin à mon avis tu ferais mieux de passer du temps à lire les docs de base sur swing.

  5. #5
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut
    est ce que tu peux essayer de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Graphics g = this.getGraphics();	
    		g.drawImage(image,0,0,null);
    		g.dispose();
    dans une autre méthode et l'appeler une fois que la fenetre est apparue ?

  6. #6
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    et ce possible de redéfinir la méthod paint pour la classe héritant de JFrame pour ne pas être obligé d'utiliser des composantes graphiques tel que les jpanel ou panel??

  7. #7
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    est ce que tu peux essayer de mettre :
    Code :

    Graphics g = this.getGraphics();
    g.drawImage(image,0,0,null);
    g.dispose();


    dans une autre méthode et l'appeler une fois que la fenetre est apparue ?
    j'ai testé ça est ça n'as pas marché.

  8. #8
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    merci pour vos aide j'ai redéfini la fonction paint et ça marche maintenant :
    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
     
     
    import java.awt.Graphics;
    import java.awt.Point;
    import java.awt.image.BufferedImage;
    import javax.swing.JFrame;
     
    public class ImagedansFenetre extends JFrame
    {
    	private static final long serialVersionUID = 1053653991150137810L;
    	public int y;
    	public int x;
    	public int height;
    	public int width;
            public BufferedImage image;
     
    	public ImagedansFenetre(int width,int height, int x, int y, BufferedImage image) 
    	{
    		this.setSize(width,height);
    		this.height = height;
    		this.width = width;
    		this.x = x - 10;
    		this.y = y - 10;
                    this.image = image;
    	}
    	public void start(BufferedImage image)
    	{
    		this.setAlwaysOnTop(true);
    		this.setUndecorated(true);
                    this.setLocation(new Point(this.x, this.y));
                    this.setVisible(true);
                     this.repaint();
    	}
            public void paint(Graphics g)
            {
                    Graphics g = this.getGraphics();	
    		g.drawImage(this.image,0,0,null);
    		g.dispose();
            }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Taille d'une image et taille d'une fenêtre
    Par Yachas dans le forum wxPython
    Réponses: 11
    Dernier message: 06/10/2009, 16h44
  2. Problème de composant WPF qui passe sous une fenêtre XNA
    Par Tod_sd dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 20/05/2009, 10h46
  3. [PHP 5.2] Récupérer les images qui arrivent sur une adresse email
    Par 4rocky4 dans le forum Langage
    Réponses: 1
    Dernier message: 02/02/2009, 11h16
  4. Image qui disparait au run
    Par koyot3 dans le forum NetBeans
    Réponses: 2
    Dernier message: 23/04/2007, 23h48
  5. [Vulcan.Net] Choix d'une image pour un menu, une fenêtre, etc.
    Par JYves dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 17/08/2006, 16h42

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