bonjour,
comment je peux afficher une image.jpeg dans une zone de texte JTextArea en cliquant sur un bouton.
merci d'avance pour votre aide
bonjour,
comment je peux afficher une image.jpeg dans une zone de texte JTextArea en cliquant sur un bouton.
merci d'avance pour votre aide
Salut,
Un JTextArea est fait pour afficher du texte. Un JTextPane serait plus indiqué pour afficher où du texte, où des images, où un mélange des deux, mais ce n'est pas si simple pour un débutant.
Si le but est juste d'afficher une image, tu peux soit utiliser un JLabel (si l'image doit s'afficher dans sa taille originale), soit un Canvas (si l'image doit être contrainte : très grande à afficher plus petite). Si le but est d'avoir un champ qui affiche tantôt un texte (je pense à tes autres posts, c'est pourquoi j'envisage cette option), tantôt une image, et que tu ne dois afficher qu'une image et une seule à la fois, je te conseille d'opter pour une solution beaucoup plus simple, à base de CardLayout : tu auras 2 composants (un JTextArea pour le texte, et un JLabel, par exemple (tout dépend si l'image est contrainte ou pas), pour afficher l'image), au même endroit, et le CardLayout te permettra de choisir lequel des 2 composants voir.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Bonjour, et merci pour vos remarques.
alors lorsque on utilise un JLabel pour l'affichage de l'image. comment assuré ça?
merci
Mais tu as regardé un petit peu dans la documentation ?
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Bonjour,
voici le code que je fais pour afficher une image dans une zone de texte.
mais malheureusement rien s'affiche sauf une zone gris sans image
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 InputStream is1 = getClass().getResourceAsStream("exemple.jpeg"); JLabel grandeZone = new JLabel(new ImageIcon("is1"));
quel est l'erreur?
merci bien
L'erreur est que tu passes en paramètre de ImageIcon le nom de la variable, créée dans la ligne juste avant dans une chaîne de caractères (entre double quotes) : en résumé, c'est n'importe quoi. ImageIcon prend en paramètre :
- un nom de fichier ou un path de fichier
- une URL (presque obtenue comme tu as fait dans la ligne précédente, mais non pas avec getResourceAsStream, mais avec getResource()
- éventuellement une Image, ou les données d'une image
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Bonjour,
après voir les faqs et même les tutoriels. voici le code que je fais pour afficher l'image. mais malheureusement ça marche pas
l'erreur et au niveau du troisième ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Icon images = new ImageIcon( "E\\dctxml\\exemple.jpeg" ); JLabel label1 = new JLabel(); label1.setIcon( images );
merci bien
Bonjour,
Ça va ça marche. L’image est affichée mais le problème quelle est plus grand que le J Label je fais ce code pour rendre plus petite. La taille change mais l'image devient floue.
S’il vous plait s'il existe une autre méthode permet de changer la taille de l'image sans rendre floue de m'informer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ImageIcon icon = new ImageIcon(new ImageIcon("tonImage.jpg").getImage().getScaledInstance(20, 20, Image.SCALE_DEFAULT));
Merci bien
Quelle erreur? On ne va pas deviner ton message d'erreur
Sinon, il manque un : après le E dans ton chemin
Bon ben les messages se sont croisés
Mais en gros, image.getScaledInstance n'a pas la réputation d'être le système donnant la meilleur qualité
Bonjour,
bon j'ai créé le code suivant qui correspond a une fonction pour la redimensionnement de l'image.
puis je fais l'appel de cette fonction comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static BufferedImage resize(BufferedImage image, int width, int height) { ImageIcon imageIcon=new ImageIcon("exemple.jpg"); Graphics2D g2d ; g2d.addRenderingHints(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY)); g2d.drawImage(imageIcon.getImage(), 0, 0, width, height, null); g2d.dispose(); }
mais je trouve une erreur au niveau de imageIO et le nom de l'image (exemple.jpg) l'erreur est "can not be resolved"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BufferedImage image=ImageIO.read(exemple.jpg); BufferedImage resizedImage=resize(image,100,100);
je suis perdue aidez moi s'il vous plait
merci beaucoup
Ok, visiblement, tu débute et tu n'a pas vraiment les bases de programmation, je vais commenter ton code au niveau des problèmes, et te laisser chercher les solutions à partir de là.
Premièrement, la méthode de redimenssionnement:
Ligne 1: tu passe en paramètre un objet appelé image, que l'on peut supposer être la source à redimensionner. Mais tu ne l'utilise nulle part dans le code de la méthode. Il y a un problème de logique là, tu devrais l'utiliser quelque part....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static BufferedImage resize(BufferedImage image, int width, int height) { ImageIcon imageIcon=new ImageIcon("exemple.jpg"); Graphics2D g2d ; g2d.addRenderingHints(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY)); g2d.drawImage(imageIcon.getImage(), 0, 0, width, height, null); g2d.dispose(); }
tu déclare aussi que la méthode retourne un BufferedImage, la version redimensionnée je présume. Mais nulle part tu ne retourne de valeur.
Ligne 2: tu crée une nouvelle imageIcon à partir de la ressource "exemple.jpg", quel est sont utilité, puisque l'on est supposé passer l'image d'origine en paramètre de la méthode?
Ligne 3: tu déclare une variable appelée g2d, mais nulle part tu ne lui attribue de valeur. Du coup, à la ligne suivante, le compilateur va raler car on ne sais pas appeler la méthode "addRenderingHints" sur du rien . Tu dois lui donner une valeur, qui viendra de ton image destination (BufferedImage.getGraphics())
ImageIO.read prend en paramètre une String, mais que lui as tu passé? un attribut appelé jpg sur une variable appelée exemple.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BufferedImage image=ImageIO.read(exemple.jpg); BufferedImage resizedImage=resize(image,100,100);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager