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 :

Insérer image dans JPanel


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Par défaut Insérer image dans JPanel
    Salut !

    Je dois en projet rendre un logiciel de retouche photo, et pour ce faire j'ai besoin d'une interface graphique qui marche Je n'arrive déjà pas à inserer mon image dans un JPanel et je n'arrive pas à comprendre pourquoi... Jdeveloper me dit que les types sont incompatibles mais je n'arrive pas à comprendre comment faire pour les convertir... Il y a également une deuxième ligne de code qui ne marche pas.

    Merci de votre aide !

    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
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.File;
     
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
     
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
     
    public class CadreImage extends JPanel{
         private Image imageFond;
     
        public CadreImage(){
                  imageFond = Toolkit.getDefaultToolkit().getImage("image.jpg"); //c'est ici que cela ne marche pas
                  imageFond.setSize(50, 100);
                  imageFond.setVisible(true);
                  add(imageFond);
     
     
     
        }
        public void paint(Graphics g){
                  g.drawImage(imageFond, 0, 0, this.getWidth(), this.getHeight(), this); //et également ici
        }
        public static void main(String args[]){
                    JFrame mafenetre = new JFrame();
                    mafenetre.setSize(500,600);
                   mafenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                  Image image = new Image();
                  mafenetre.add(image);
                  mafenetre.pack();
                  mafenetre.setVisible(true);
        }
    }

  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
    imageFond est un ImageIcon, le toolkit te renvoie une Image, il faut que tu mette cette image dans une ImageIcon via le constructeur qui correspond.
    drawImage prend un Image en paramètre, pas un ImageIcon, même problème en sens inverse.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Par défaut
    J'ai compris que les types n'étaient pas compatibles, mais ce que je ne comprends pas c'est comment faire pour convertir mon ImageIcon en Image, comme tu dis ! Le logiciel me dit que le type rencontré est de type java.awt.Image et qu'il nécessite d'y avoir une Image.. Comment faire alors pour le convertir ?

  4. #4
    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
    Alors Image, c'est un type qui représente des données d'une image. C'est à dire un ensemble de points, la palette de couleurs, les dimension.
    ImageIcon, c'est une implémentation de l'interface Icon, qui récupère ses information depuis un objet Image.
    Icon c'est un type dont le boulot est de dessiner une image à l'écran, via sa méthode paintIcon.


    Donc le premier est ton image, et c'est ce qui sort du Toolkit: un ensemble de points en mémoire. Ca tombe bien, c'est justement ce dont tu as besoin pour l'appel à g.drawImage.
    Le second est quelque chose dont tu n'a simplement pas besoin vu comment ton code est présenté. Typiquement, on a besoin d'une ImageIcon quand on met l'image dans un JLabel. Mais là tu fais visiblement le dessin toi même via paintComponent donc tu n'en a pas besoin.

    Pour résumé, ton add(image) est inutile et tu n'a juste pas besoin d'ImageIcon.

Discussions similaires

  1. HELP ! insérer Image dans le main ?
    Par lex13 dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 04/04/2007, 14h12
  2. insérer images dans nbm
    Par jessie dans le forum NetBeans
    Réponses: 1
    Dernier message: 17/01/2007, 23h32
  3. Problème avec image dans JPanel
    Par littleshrimp dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 14/05/2006, 14h05
  4. Problème avec l'insertion d'une image dans JPanel
    Par anutka dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 16/03/2006, 10h02
  5. [MySQL] insérer image dans bdd grace a un formulaire
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 14/03/2006, 08h34

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