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 :

insertion d'une image


Sujet :

AWT/Swing Java

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut insertion d'une image
    Comment inserer une image dans un jpanel ?
    Est-ce le control le mieux approprié pour afficher une image?

    merci

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Deux choix possible (soit utiliser un JLabel avec la méthode setIcon.

    Ou sinon créer une classé héritant de JPanel et redéfinisant la méthode paintComponent pour qu'elle dessine l'image.
    ++
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 851
    Points
    22 851
    Billets dans le blog
    51
    Par défaut
    Citation Envoyé par sinok Voir le message
    Ou sinon créer une classé héritant de JPanel
    Ou de JComponent.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut
    La méthode setIcon() du jLabel prend en parametre un objet de type "Image". Seulement c'est une classe abstraite. Comment puis-je construire une image simplement avec son chemin d'accès?

    merci

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 57
    Points : 49
    Points
    49
    Par défaut
    Je pense que cela pourrai t'aider, une classe JImage hérité de 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
     
         import java.awt.Image;
         import java.awt.Graphics;
         import java.awt.Dimension;
         import java.awt.MediaTracker;
         import javax.swing.JPanel;
     
         public class JImage extends JPanel
         {
         private String nomFichier;
         private Image image;
         private Dimension dimImage;
     
         public JImage (String nomFichier)
         {
         this.nomFichier=nomFichier;
         // bien-entendu nomFichier est un chemin absolu sans oublier les "\" de protection sous waindo
     
         image=getToolkit().getImage(nomFichier);
         // on pointe l'image
     
         dimImage=new Dimension(image.getWidth(this),image.getHeight(this));
         setPreferredSize(dimImage);
         // j'initialise la taille du composanr à la taille de l'image
         }
     
         public void paintComponent(Graphics g)
         {
         super.paintComponent(g);
         g.drawImage(image,0,0,this);
         }
     
         public Dimension getSize()
         {
         return dimImage;
         }
       }

  6. #6
    Membre averti Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Points : 345
    Points
    345
    Par défaut
    ca c'est un beau cadeau!
    N'oubliez pas le résolu si tout fonctionne bien

  7. #7
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut
    paintCompoment() c'est pour afficher l'image?
    Qu'est ce que je dosi mettre en parametre?

    merci

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 57
    Points : 49
    Points
    49
    Par défaut
    Pour utilisé cette classe, tu as juste à instancié un objet en passant en paramètre l'adresse de ton image.

  9. #9
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut
    Citation Envoyé par deutschy Voir le message
    Pour utilisé cette classe, tu as juste à instancié un objet en passant en paramètre l'adresse de ton image.
    Je suis d'accord, mais une fois que j'ai instancié mon image comment l'associer à un controle ? Quelle est la méthode?

    merci

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 57
    Points : 49
    Points
    49
    Par défaut
    Comme je ne suis pas fort en explication, je t'ai fais un petit programme de test, tu devrais comprendre le fonctionnement.

    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
        public test()
        {
            super("test");                 //défini le titre
            setSize(200,200);        //la taille
     
     
            JPanel pan=new JImage("H:\\google.gif");              //Panel
            FlowLayout    b2=new FlowLayout(FlowLayout.CENTER);   //layoutManager
            pan.setLayout(b2);                      //attache le layoutManager au panel           
     
            setContentPane(pan);        //defini le panel de la JFrame
            setVisible(true);           //affiche la JFrame
     
           setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //opération par défaut ala fermeture
     
        }
     
        public          static void       main(String args[])
        {
            new test();
        }

    Mon code n'est pas très bien structuré, veuillez m'en excuser mais j'ai pas trop le temps.
    j'espere que sa pourra t'aidé! sinon n'hésite pas!

Discussions similaires

  1. [ezPDF] Insertion d'une image !
    Par Dsphinx dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 22/03/2007, 14h27
  2. [RTF] Insertion d'une image BMP
    Par didinel dans le forum Autres langages
    Réponses: 20
    Dernier message: 04/12/2006, 17h34
  3. problème pour faire un insert avec une image
    Par vbcasimir dans le forum Modules
    Réponses: 3
    Dernier message: 02/11/2005, 09h21
  4. Insertion d'une image BMP dans un fichier RTF
    Par didinel dans le forum MFC
    Réponses: 8
    Dernier message: 18/08/2005, 09h24
  5. Insertion d'une image dans la une base mysql...
    Par Angeldu74 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 01/06/2005, 14h00

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