Java - Конвертировать изображение в значок/ImageIcon? У меня есть объект Image, который я хотел бы преобразовать в Icon или ImageIcon для добавления в JTextPane. Как мне это сделать? (это в JAVA) пояснение: мое "изображение" является экземпляром объекта изображения, а не файла. Ответ 1 Что случилось с new ImageIcon(Image)? Image img = ... ImageIcon icon = new ImageIcon(img); Ответ 2 Добавьте изображение в документ 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); Ответ 3 Попробуйте это... Toolkit t = Toolkit.getDefaultToolkit(); Image i = t.getImage("icon.gif"); setIconImage(i); Ответ 4 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);
Ответ 2 Добавьте изображение в документ 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);
Ответ 3 Попробуйте это... Toolkit t = Toolkit.getDefaultToolkit(); Image i = t.getImage("icon.gif"); setIconImage(i);
Ответ 4 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);