Java - 将图像转换为Icon / ImageIcon?

时间:2012-08-18 17:14:30

标签: java image imageicon

我有一个Image对象,我想将其转换为Icon或ImageIcon以添加到JTextPane。我该怎么做呢? (这是在JAVA中)

澄清:我的“图像”是图像对象的一个​​实例,而不是文件。

5 个答案:

答案 0 :(得分:40)

new ImageIcon(Image)出了什么问题?

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

答案 1 :(得分:4)

将图像添加到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);

答案 2 :(得分:0)

试试这个......

Toolkit t = Toolkit.getDefaultToolkit();

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

setIconImage(i);

答案 3 :(得分:0)

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);

答案 4 :(得分:0)

将图像转换为图标,例如在Netbeans中将Icon设置为jLable,我使用以下代码将其设置为真实:

JLabelname.setIcon(new javax.swing.ImageIcon(getClass().getResource("/slip/images/null_phot.png")));