Search code examples
javaimageswingjeditorpane

showing images on jeditorpane (java swing)


I have a JEditorPane created by this way:

JEditorPane pane = new JEditorPane("text/html", "<font face='Arial'>" + my_text_to_show + "<img src='/root/img.gif'/>" + "</font>");

I put this pane on a JFrame.

Text is shown correctly, but I can't see the picture, there is only a square indicating that there should be an image (i.e.: "broken image" shown by browsers when picture has not been found)


Solution

  • You have to provide type, and get the resource. That's all. My tested example, but I'm not sure about formating. Hope it helps:

    import java.io.IOException;
    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    
    public class Test extends JFrame {
    
        public static void main(String[] args) throws Exception {
            Test.createAndShowGUI();
        }
    
        private static void createAndShowGUI() throws IOException {
    
            JFrame.setDefaultLookAndFeelDecorated(true); 
    
            JFrame frame = new JFrame("HelloWorldSwing");
    
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
            String imgsrc = 
                Test.class.getClassLoader().getSystemResource("a.jpg").toString();
            frame.getContentPane().add(new JEditorPane("text/html",
                "<html><img src='"+imgsrc+"' width=200height=200></img>"));
            frame.pack();
    
            frame.setVisible(true);
        }
    }