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 :

image problem java


Sujet :

Java

  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Technicien réseau
    Inscrit en
    Février 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2017
    Messages : 1
    Par défaut image problem java
    Bonjour,
    Je voudrais ajouter une image à mon interface mais cela ne fonctionne pas. Quel est le problème ?

    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
    package project;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.*;
     
    import javax.imageio.ImageIO;
    import javax.swing.*;
    public class Train extends JPanel{
     
    	private BufferedImage  image;
    	public Train()
    	{this.setVisible(true);
    	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		try {
    			image=ImageIO.read(getClass().getResourceAsStream("/train.jpg"));
     
    		}
    		catch(IOException e)
    	{e.printStackTrace();
    	}
    		repaint();
     
    	}
    	private void setDefaultCloseOperation(int exitOnClose) {
    		// TODO Auto-generated method stub
     
    	}
    	public void paint(Graphics g)
    	{boolean drawImage = g.drawImage(image, 100, 100, null, null);
     
    	}
    	public static void main(String[] args) {
    		Train t=new Train();
     
    	}
     
    }

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Un JPanel doit être placé dans une fenêtre (JFrame) pour pouvoir être affiché; D'ailleurs, il semble que tu te sois basée sur un exemple et que tu aies mélangé les deux, car tu appelles des méthodes qui n'existent que dans la classe JFrame, et pas dans la classe JPanel.


    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
    package project;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.*;
     
    import javax.imageio.ImageIO;
    import javax.swing.*;
    public class Train extends JPanel{
     
    	private BufferedImage  image;
    	public Train() {
     
    		try {
    			image=ImageIO.read(getClass().getResourceAsStream("/train.jpg"));
     
    		}
    		catch(IOException e) {
                       e.printStackTrace();
                  }
                   showInFrame("My image", this);
    	} 
    	public void paint(Graphics g) {
     
                  super.paint(g); // toujours appeler le super pour avoir le fond du composant/always call super to draw component background
                  g.drawImage(image, 100, 100, null, null); // tu devrais appeler g.drawImage(image,100,100,this), car si tu n'utilises pas de couleur, autant utiliser la signature qui ne l'utilise pas, et pour le paramètre observateur, utilises le panel lui-même, ce qui permettra un rafraîchissement automatique en cas de chargement progressif ou de gif animé / you should invoke g.drawImage(image,100,100,this) as if you don't need color, don't use signature with this argument, and you can use the panel itself at observer (if the image loading is progressive, or an animated gif, it will be refreshed automatically)
     
    	}
     
            public static JFrame showInFrame(String title, JComponent component) {
                                JFrame frame = new JFrame(title);
    	                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                frame.add(component); // ajout du composant au centre de la fenêtre, add component at center
                               frame.setSize(600,400); 
                               frame.setLocationRelativeTo(null);
                                frame.setVisible(true);
                                return frame;
            }
     
    	public static void main(String[] args) {
    		Train t=new Train();
     
    	}
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. [AC-2007] Probleme gestion image avec java et access
    Par wajdy dans le forum Access
    Réponses: 4
    Dernier message: 28/11/2010, 19h43
  2. Probleme : Java heap space et images
    Par Crowell dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2007, 17h05
  3. [Image]Créer une image avec JAVA 1.1
    Par burno dans le forum 2D
    Réponses: 4
    Dernier message: 11/08/2004, 09h19
  4. [Image] Probleme de diminution de taille
    Par cameleon2002 dans le forum 2D
    Réponses: 2
    Dernier message: 08/07/2004, 09h32
  5. [IMAGE JAI] java.lang.Error
    Par babyboy dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 18/05/2004, 14h29

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