JComponent (@Nullable Icon icon) { if (icon == null) return new JLabel(CommonBundle.message("label.no.data"), SwingConstants.CENTER); final int w = icon.getIconWidth(); final int h = icon.getIconHeight(); final BufferedImage image = GraphicsEnvironment.getLocalGraphicsEnvironment() .getDefaultScreenDevice().getDefaultConfiguration().createCompatibleImage(w, h, Transparency.TRANSLUCENT); final Graphics2D g = image.createGraphics(); icon.paintIcon(null, g, 0, 0); g.dispose(); return ImageEditorManagerImpl.createImageEditorUI(image); }