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 :

Afficher image dans swing


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 15
    Par défaut Afficher image dans swing
    bonsoir les développeurs ,
    s'il vous plait ,comment faire pour charger une image à partir d'une base des données et l'afficher sur une interface swing
    bon voila j'ai arrivé à charger l'image mais j'ai pas réussie de la mettre dans une Jpanel
    voilà le 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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    public static void  chargerPict(String name) throws Exception
    {
     
     
     
             File fileName = null;
                 JFileChooser chooser = new JFileChooser();
            chooser.setCurrentDirectory(new File("./"));
            int actionDialog = chooser.showSaveDialog(null);
            if (actionDialog == JFileChooser.APPROVE_OPTION) {
                 fileName = new File(chooser.getSelectedFile() + "");
                if (fileName == null) {
                    return;
                }
                if (fileName.exists()) {
                    actionDialog = JOptionPane.showConfirmDialog(null,
                            "Replace existing file?");
                    // may need to check for cancel option as well
                    if (actionDialog == JOptionPane.NO_OPTION) {
                        return;
                    }
                }
                }
     
      File monImage = new File(fileName+"");
      FileOutputStream ostreamImage = new FileOutputStream(monImage);
     
      try
      {
        PreparedStatement ps = Manager.getConnectionn().prepareStatement("select titre from image where name=?");
     
        try
        {
          ps.setString(1,name);
          ResultSet rs = ps.executeQuery();
     
          try
          {
            if(rs.next())
            {
          	  InputStream Image = rs.getBinaryStream("titre");
     
          	  byte[] buffer = new byte[1024];
          	  int length = 0;
     
          	  while((length = Image.read(buffer)) != -1)
          	  {
          	    ostreamImage.write(buffer, 0, length);
    	  }
      	}
          }
          finally
          {
            rs.close();
          }
        }
        finally
        {
          ps.close();
        }
      }
      finally
      {
      Image.close();
      }
    }

  2. #2
    Membre averti
    Femme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 50
    Par défaut
    Je crois que pour afficher il faut l'inclure dans un jLabel en tant qu'icone.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adresseDeTonImage")));

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Bonsoir,

    On ne charge pas une image comme un fichier :
    http://java.developpez.com/faq/gui/?...QUE_IMAGE_lire

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  4. #4
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 15
    Par défaut
    ouii mais comment faire pour indiquer le chemin !! je suis un peu perdu car je n'ai jamais travailler ça

  5. #5
    Membre averti
    Femme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 50
    Par défaut
    Ce que je saisi pas c'est comment un filechooser t'amène à chercher dans une base de donnée ?

    Habituellement un filechooser te donne directement un objet file et si tu veux une autre forme tu lui prends son absolutePath et tu en fais ce que tu veux.

  6. #6
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 15
    Par défaut
    Citation Envoyé par chabz Voir le message
    Ce que je saisi pas c'est comment un filechooser t'amène à chercher dans une base de donnée ?
    non, le filechooser c'est juste pour indiquer ou on veut enregistrer notre fichier , on peut le remplacer par un chemin

  7. #7
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Si tu arrive à créer un File avec ton chemin, alors tu dispose de URL pour créer l'image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    File monImage= ***;
    URL url = monImage.toURI().toURL();
    /** Accès au toolkit : */
    java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
    /** lecture de l'image : */
    Image image = toolkit.getImage(url);
    Par contre, d'après ce que j'ai compris vos conserver seulement le titre de votre image. Il faudrait savoir où elle se trouve... Est-elle dans un dossier spécifique ?

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  8. #8
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 15
    Par défaut
    Je pense que le filechooser a compliquer le code ...

    oui c'est une solution , mais je dois charger l'image , l'enregistrer sur le bureau "par ex" et l'afficher . Je me demande si je peux faire ça sans passer par le biais du bureau ?!!

  9. #9
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Bonjour,
    as-tu essayé un truc dans le genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ByteArrayOutputStream monBuffer= new ByteArrayOutputStream();
     
    while((length = Image.read(buffer)) != -1)
          	  {
          	    monBuffer.write(buffer, 0, length);
    	  }
     
    monBuffer.flush();
     
    byte[] mesBytes = monBuffer.toByteArray();
     
    Icon image = new ImageIcon(mesBytes);
    A peu de chose près...
    En gros tu stocke ton image dans un BufferedOuputStream au lieu de l'écrire sur disque, puis tu tu le transformes en tableau de bytes pour instancier ton image.
    D'après la javadoc ça devrait marcher avec un jpg ou un gif...

Discussions similaires

  1. afficher image dans lecteur mp3
    Par lacourriette dans le forum Intégration
    Réponses: 0
    Dernier message: 10/12/2008, 16h54
  2. Réponses: 3
    Dernier message: 10/01/2008, 22h09
  3. Problème d'affiche images dans un gridview
    Par sissi25 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 10/10/2007, 08h48
  4. afficher image dans jrame
    Par mmb04 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 19/04/2007, 22h54
  5. [struts] Afficher image dans JSP a partir d'un byte[]
    Par igloof dans le forum Struts 1
    Réponses: 1
    Dernier message: 16/05/2006, 11h11

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