18

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

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

4

5 回答 5

43

有什么问题new ImageIcon(Image)

Image img = ...
ImageIcon icon = new ImageIcon(img);
于 2012-08-18T17:22:59.817 回答
5

将图像添加到您的 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);
于 2012-08-18T17:29:25.413 回答
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);
于 2013-03-20T13:12:23.423 回答
0

尝试这个...

Toolkit t = Toolkit.getDefaultToolkit();

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

setIconImage(i);
于 2012-08-18T17:17:27.490 回答
0

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

JLabelname.setIcon(new javax.swing.ImageIcon(getClass().getResource("/slip/images/null_phot.png")));
于 2020-04-01T17:00:14.440 回答