我有一个 Image 对象,我想将其转换为 Icon 或 ImageIcon 以添加到 JTextPane。我该怎么做呢?(这是在 JAVA 中)
澄清:我的“图像”是图像对象的实例,而不是文件。
有什么问题new ImageIcon(Image)
?
Image img = ...
ImageIcon icon = new ImageIcon(img);
将图像添加到您的 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);
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);
尝试这个...
Toolkit t = Toolkit.getDefaultToolkit();
Image i = t.getImage("icon.gif");
setIconImage(i);
将图像转换为图标,例如将 Icon 设置为 netbeans 中的 jLable,我使用以下代码使其成为真:
JLabelname.setIcon(new javax.swing.ImageIcon(getClass().getResource("/slip/images/null_phot.png")));