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 dans un JPanel


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 15
    Par défaut Image dans un JPanel
    Bonjour à tous,

    J'ai créé un JPanel qui contient lui même 2 JPanel
    * un qui contient JLabel "Choisissez une image" et un bouton qui permet de parcourir le disque dur pour choisir une image.
    * un qui contient un JLabel qui va afficher l'image choisie.

    Le problème c'est que le deuxième JLabel n'affiche pas les images bmp 1bit par pixel, il n'affiche que les images "jpeg","png",..

    Pouvez vous m'aider à comprendre ce problème.
    Merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    un qui contient un JLabel qui va afficher l'image choisie
    y-a-t-il une raison particulière pour afficher l'image dans un JLabel au lieu de l'afficher directement dans le JPanel ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Salut,

    peux tu donner l’instruction que tu as utilisé pour lire l'image sur le disque dur ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 15
    Par défaut
    Citation Envoyé par slim_java Voir le message
    Salut,

    peux tu donner l’instruction que tu as utilisé pour lire l'image sur le disque dur ?
    Bonjour slim_java,

    J'ai utilisé ce code
    public void openFile() {
    JFileChooser jfc = new JFileChooser();
    int result = jfc.showOpenDialog(this);
    if(result == JFileChooser.CANCEL_OPTION) return;
    try {
    File file = jfc.getSelectedFile();
    BufferedReader br = new BufferedReader(new FileReader(file));
    String s=""; int c=0;
    while((c=br.read())!=-1) s+=(char)c;
    br.close(); jep.setText(s);
    } catch (Exception e) {
    JOptionPane.showMessageDialog(this,e.getMessage(),
    "File error",JOptionPane.ERROR_MESSAGE);}
    }

  5. #5
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Alors là, java m'étonnera toujours :
    afficher une image stockée dans une chaîne en passant par un JLabel

    Je serais curieux de savoir où tu as péché ce code

    Sinon le code simpliste pour afficher une image venant d'un fichier en fond de JPanel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
             public void paintComponent(Graphics g) {
                    java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
                    Image image = toolkit.getImage("fichier");
                    g.drawImage(image ,0,0,null);
            }
    pas très optimisé car en principe on devrait charger le fichier en dehors de paintComponent mais bon, pour commencer ...

    Plus de précision dans la FAQ
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 15
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Alors là, java m'étonnera toujours :
    afficher une image stockée dans une chaîne en passant par un JLabel

    Je serais curieux de savoir où tu as péché ce code

    Sinon le code simpliste pour afficher une image venant d'un fichier en fond de JPanel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
             public void paintComponent(Graphics g) {
                    java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
                    Image image = toolkit.getImage("fichier");
                    g.drawImage(image ,0,0,null);
            }
    pas très optimisé car en principe on devrait charger le fichier en dehors de paintComponent mais bon, pour commencer ...

    Plus de précision dans la FAQ
    Oui, mais je peux utilisé ce code dans une classe qui hérite de JPanel et contient qu'un seul JPanel n'est ce pas?

    sinon, ou est ce qu'on peux précisé sur quel JPanel des deux on veux afficher l'image.

    Merci pour ton aide.

  7. #7
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par ayson Voir le message
    Bonjour slim_java,

    J'ai utilisé ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public void openFile() {
    JFileChooser jfc = new JFileChooser();
    int result = jfc.showOpenDialog(this);
    if(result == JFileChooser.CANCEL_OPTION) return;
    try {
    File file = jfc.getSelectedFile();
    BufferedReader br = new BufferedReader(new FileReader(file));
     
    ...
    }


    Salut,
    pour lire une image, il faut utiliser la classe ImageIO.
    Cette classe choisit un lecteur approprié, en fonction du type de fichier (.jpg, .bmp,.gif,...)

    donc comme instruction de lecture d'image, tu dois faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedImage monImage  = ImageIO.read(fichierImage);

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 15
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    y-a-t-il une raison particulière pour afficher l'image dans un JLabel au lieu de l'afficher directement dans le JPanel ?
    Bonjour Népomucène,

    En effet, j'ai pas pu afficher l'image directement sur le JPanel donc j'ai utilisé un JLabel.

Discussions similaires

  1. Image dans un Jpanel
    Par fontaigo dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 19/04/2006, 18h13
  2. comment afficher une image dans un jpanel ?
    Par 180degrés dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 18/04/2006, 15h33
  3. Persistance d'une image dans un JPanel
    Par Robiwan59 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 15/02/2006, 19h20
  4. Rafraichir image dans un jPanel
    Par kentao dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/01/2006, 16h31
  5. [JPanel]Mettre une image dans un JPanel
    Par ehmppowa dans le forum Composants
    Réponses: 11
    Dernier message: 30/11/2005, 20h17

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