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

Composants Java Discussion :

Image dans un Panel


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Par défaut Image dans un Panel
    Bonjour,

    J'aimerai savoir s'il existe une manière simple d'afficher une image dans un Panel! Il y a un exemple sur le forum mais je le trouve un peu compliqué!

    j'ai entendu dire qu'il fallait passer par un JPanel pour simplifier la chose!

    Aidez moi svp
    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    JPanel unPanel = new JPanel();
    URL deLimage = getClass().getResource("/img/toto.gif");
    JLabel unLabel = new JLabel(new ImageIcon(deLimage));
    unPanel.add(unLabel);
    cadeau

  3. #3
    Membre éclairé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Par défaut
    merci de ta reponse aussi rapide, mais que faut t il comme parckage pour que cela fonctionne???

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 125
    Par défaut
    java.net.*;
    javax.swing.*;
    java.awt.*;

  5. #5
    Membre éclairé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Par défaut
    ben j'ai tous les packages mais il y a apparemment une erreur sur getClass et sur get Resource! A quoi servent ces méthodes???

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    à récupérer l'URL d'un fichier quelle que soit son emplacement (fichier Jar, ...)

    si tu as une erreur sur getClass(), c'est sûrement que tu es dans une méthode statique.

    dans ce cas il faut faire comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class MaClass{
     
    public static void main(String[] arg){
      URL deLimage = MaClass.class.getResource("/img/toto.gif");
      ...
     
    }
     
    }

  7. #7
    Membre éclairé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Par défaut
    D'accord cela fonctionne mais maintenant j'aimerai asvoir s'il est possible de faire la même chose en utilisant java.awt.image pour contenir l'image, java.awt.Toolkit pour charger l'image et Graphics pour afficher l'image!

  8. #8
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    URL url = getClass().getResource("/img/toto.gif");
    final Image img = Toolkit.getDefaultToolkit().getImage(url);
     
    JPanel panel = new JPanel(){
      public void paint(Graphics g){
        super.paint(g);
     
        if(img!=null){
          g.drawImage(img, 0, 0, this);
        }
      }
    };
    bonne fêtes

  9. #9
    Membre éclairé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Par défaut
    moi j'ai ça et ça ne fonctionne pas pourquoi???


    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
     
    import javax.swing.*;
    import java.lang.*;
    import java.awt.*;
    import java.net.*;
    import java.awt.Toolkit.*;
     
    class Panneau extends JPanel 
    {
    	private Image image; 
    	private String urlImage;
     
    	public Panneau(String url) 
    	{
    	URL urlImage = getClass().getResource(url); 
    	image = Toolkit.getDefaultToolkit().getImage(urlImage); 
    	}
     
    	public void paint(Graphics g)
    	{
    	super.paint(g);
    		if(image!=null)
    		g.drawImage(image, 0, 0, this); 		
    	}
    }

  10. #10
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    bah donne plus de précisions: qu'est-ce qui ne marche pas :

  11. #11
    Membre éclairé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Par défaut
    c'est bon j'ai trouvé mon erreur merci de ton coup de main!

    Une dernière question est ce que tu sais s'il existe une méthode qui est capable d'ajuste la taille de l'image à celle du panel???

    En c++ il existe la propriété Strech par exemple!

  12. #12
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    URL urlImage = getClass().getResource(url);
    image = Toolkit.getDefaultToolkit().getImage(urlImage).getScaledInstance(tailleX, tailleY, Image.SCALE_DEFAULT);
    mais surtout, c'est le genre de chose qui se trouve facilement :
    http://javasearch.developpez.com/j2s...%20int,%20int)

  13. #13
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 125
    Par défaut ........
    Je te propose:
    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
     
    import javax.swing.*
    import java.awt.*;
     
    //La classe d'entrée
    public class App()
    {
    public App()
    {
    LeFrame frame=new JFrame();
    frame.show();
    }
    static public void main(String args[])
    {
    new App();
    }
    }
    //La classe LeFrame
    public class LeFrame extends JFrame
    {
    LePanel panel=new LePanel();
    public LeFrame()
    {
    setVisible(true);
    setSize(400,400);
    getContentPane.add(panel);
    }
    }
     
    //La classe du panel
     
    public class LePanel extends JPanel
    {
    JLabel label=new JLabel();
    ImageIcon im;
    public LePanel()
    {
      im=new ImageIcon("image.gif");
      label.setIcon(im);
      this.add(label);
    }
    }

  14. #14
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 125
    Par défaut ......
    Ou:
    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
     
    import javax.swing.*
    import java.awt.*;
     
    //La classe d'entrée
    public class App()
    {
    public App()
    {
    LeFrame frame=new JFrame();
    frame.show();
    }
    static public void main(String args[])
    {
    new App();
    }
    }
    //La classe LeFrame
    public class LeFrame extends JFrame
    {
    LePanel panel=new LePanel();
    public LeFrame()
    {
    setVisible(true);
    setSize(400,400);
    getContentPane.add(panel);
    }
    }
     
    //La classe du panel
     
    public class LePanel extends JPanel
    {
    ImageIcon im;
    public LePanel()
    {
      im=new ImageIcon("image.gif");
    }
    public void paint(Graphics g)
    {
    super.paint(g);
    g.drawImage(im.getImage(),0,0,im.getIconWidth,im.getIconHeight(),this);
    }
    }

  15. #15
    Membre éclairé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Par défaut
    Merci a tous ca fonctionne très bien

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

Discussions similaires

  1. Changer la source d'une image dans un panel
    Par Thomus38 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 12/12/2007, 21h31
  2. charger une image dans un panel en dynamique?
    Par Mickey.jet dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/07/2007, 04h03
  3. Afficher une image dans un panel ?
    Par Muetdhiver dans le forum wxWidgets
    Réponses: 4
    Dernier message: 03/06/2007, 13h20
  4. [AWT] Image dans un Panel
    Par -Jolan- dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 29/12/2005, 15h57
  5. [image] dans un panel
    Par phoebe dans le forum Composants
    Réponses: 4
    Dernier message: 13/07/2004, 10h44

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