web-dev-qa-db-fra.com

Java - Convertir l'image en icône / ImageIcon?

J'ai un objet Image que je voudrais convertir en icône ou ImageIcon pour ajouter à un JTextPane. Comment pourrais-je procéder? (c'est en Java)

clarification: mon "Image" est une instance de l'Objet Image, pas un Fichier.

15
Primm

Quel est le problème avec new ImageIcon(Image) ?

Image img = ...
ImageIcon icon = new ImageIcon(img);
40
Jeffrey

Ajoutez l'image à votre document JTextPane:

Image image = ImageIO.read(new File("myImage.jpg"));

StyleContext context = new StyleContext();
StyledDocument document = new DefaultStyledDocument(context);

Style labelStyle = context.getStyle(StyleContext.DEFAULT_STYLE);

Icon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
StyleConstants.setComponent(labelStyle, label);

document.insertString(document.getLength(), "Ignored", labelStyle);

JTextPane textPane = new JTextPane(document);
4
Reimeus

Essaye ça...

Toolkit t = Toolkit.getDefaultToolkit();

Image i = t.getImage("icon.gif");

setIconImage(i);
0
Kumar Vivek Mitra

convertir l'image en icône, par exemple définir Icon en jLable dans les netbeans, j'utilise le code ci-dessous pour le rendre vrai:

JLabelname.setIcon(new javax.swing.ImageIcon(getClass().getResource("/slip/images/null_phot.png")));
0
Chauncey Lee
ImageIcon icon=null; 

ImageIcon imageicon = new ImageIcon("C:\\Winter.jpg");

if (imageicon != null) {

    if (imageicon.getIconWidth() > 60) {
        System.out.println(jLabel1.getWidth());
        icon = new ImageIcon(imageicon.getImage().getScaledInstance(26, -1, Image.SCALE_DEFAULT));
    } else {
        icon = imageicon;
}

jLabel1.setIcon((Icon) icon);
0
Shubham Goswami