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

2D Java Discussion :

[debutant] afficher une image...


Sujet :

2D Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Par défaut [debutant] afficher une image...
    bonsoir tout le monde,

    je commence à coder en swing et je n'arrive pas à afficher une image !
    j'ai essayé pendant deux heures sans succès en ayant suivi toute la documentation possible sur le net et dans des bouquins...
    alors soit je suis mauvais ou alors la subtilité du swing me dépasse...

    voici mon code :
    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
     
    package ihm;
    import javax.swing.*;
    import java.awt.*;
     
    public class imagePanel extends JPanel{
    	private ImageIcon image;
    	private int hauteur;
    	private int largeur;
     
     
    	public imagePanel(){
    		this.image = new ImageIcon("C:/Program Files/Eclipse SDK/workspace/DBN - De Bonaparte à Napoleon/ihm/terrain.jpg");
    		this.hauteur = this.image.getIconHeight();
    		System.out.println(this.hauteur);
    		this.largeur = this.image.getIconWidth();
    		System.out.println(this.largeur);
    		this.setBounds(0,0,this.largeur,this.hauteur);
    	}  
     
    	public void paintComponent(Graphics g) {
    		super.paintComponent(g);
    		Image img = this.image.getImage();
    		g.drawImage(img, 10, 10, null);
    	}
     
     
    	public static void main(String[] args) {
    		JFrame fenetre = new JFrame("essai image");
    		fenetre.setBounds(0,0,800,600);
    		fenetre.setLayout(null);
    		imagePanel image = new imagePanel();
    		image.setVisible(true);
    		fenetre.add(image);
    		fenetre.setVisible(true);
    	}
    }
    resultat j'ai une superbe fenetre grise...

    merci de votre aide!

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 201
    Par défaut
    Salut.
    J'ai plus tôt une autre idée a te proposé, tu travail avec la class toolkit comme suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    JLabel label = new JLabel();
    label.setBounds(//ou tu veut);
    Image icone = ToolKit.getDefaultToolKit().getImage(//image);
    label.setIconImage(icone);
    ce la te permet de mettre un image dans une label et tu peut la mettre ou tu veut.
    Bon pour la methode setIconImage, je me rappelle plus si c'est setIconImage() ou bien setImageIcon(), essai les deux c'est sur que ca va marché.

  3. #3
    Membre expérimenté Avatar de aDamas
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 260
    Par défaut
    Essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static void main(String[] args) {
          JFrame fenetre = new JFrame("essai image");
          fenetre.setBounds(0,0,800,600);
          imagePanel image = new imagePanel();
          image.setVisible(true);
          fenetre.getContentPane().add(image);//modif ici
          fenetre.setVisible(true);
       }
    Et j'ai viré le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fenetre.setLayout(null);

  4. #4
    Membre éprouvé
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Par défaut
    Essaie CE code ImagePanel sinon

    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
     
    import java.awt.image.*; 
    import javax.imageio.*; 
    import javax.swing.*; 
    import java.awt.*; 
    import java.io.*; 
     
     
    /** 
    * Classe ImagePanel:<br> 
    * - charge une image dans un JPanel <br> 
    * - permet de s'en servir par d'autre classe comme un JPanel.<br> 
    * - se sert de la jdk 1.4 à cause du ImageIO.read(). 
    * <br> 
    * @author STB2680 
    * @version 1.0 - février 2003<br> 
    */ 
    public class ImagePanel extends JPanel { 
        private BufferedImage image; 
        private int w;    // largeur de l'image 
        private int h;    // hauteur de l'image 
        private int x,y;// coordonnées du coin sup gauche 
        static final long serialVersionUID= 1;
     
    /** 
    * Le constructeur : 
    * @param img le fichier de l'image. 
    * @param x coordonnée x du coin supérieur gauche. 
    * @param y coordonnée y du coin supérieur gauche. 
    * @param width largeur de l'image. 
    * @param height hauteur de l'image. 
    */ 
        public ImagePanel(File fileImg,int x,int y,int width,int height) 
        { 
            super(); 
            try { 
                image = ImageIO.read(fileImg); 
            } catch (IOException e) { 
                image = null; 
                System.err.println("Fichier invalide"); 
            } 
            this.x = x; 
            this.y = y; 
            w = width; 
            h = height; 
            setVisible(true); 
        } 
     
    /** 
    * Gere l'affichage graphique du JPanel, ainsi que le refraichissement. 
    */ 
        public void paintComponent(Graphics g) 
        { 
            super.paintComponent(g); 
            g.drawImage(image,x,y,w,h,null); 
        } 
    }

Discussions similaires

  1. Debutant,comment afficher une image dans un Jpanel
    Par dilamax_1 dans le forum Graphisme
    Réponses: 1
    Dernier message: 27/04/2008, 16h05
  2. Debutant afficher une Image dans un panel
    Par jejermoa dans le forum Graphisme
    Réponses: 5
    Dernier message: 21/03/2008, 11h35
  3. [debutant]Afficher une image en choisissant ses dimensions
    Par Romain93 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 13/11/2006, 03h19
  4. [DEBUTANT] afficher une image
    Par guiguistuder dans le forum Débuter
    Réponses: 5
    Dernier message: 29/10/2006, 13h39
  5. [debutant] Afficher une image
    Par HopeLeaves dans le forum 2D
    Réponses: 16
    Dernier message: 14/11/2005, 00h29

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