Inserting an Image into a JTextPane Component with Java



Let’s say the following is our JTextPane with orange background color −

JTextPane textPane = new JTextPane(); textPane.setBackground(Color.orange);

Now, set the style and attributes. Also, set the font −

SimpleAttributeSet attributeSet = new SimpleAttributeSet(); StyleConstants.setItalic(attributeSet, true); textPane.setCharacterAttributes(attributeSet, true); textPane.setText("Recall this and "); Font font = new Font("Verdana", Font.BOLD, 22); textPane.setFont(font);

After the text displayed above, we will insert an image using setIcon() −

StyledDocument doc = (StyledDocument) textPane.getDocument(); Style style = doc.addStyle("StyleName", null); StyleConstants.setIcon(style, new ImageIcon("E:\kind.png")); doc.insertString(doc.getLength(), "invisible text", style);

The following is an example to insert an image into a component. Here, we have inserted an image into a JTextPane component −

Example

package my; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Font; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextPane; import javax.swing.text.BadLocationException; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.Style; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; public class SwingDemo {    public static void main(String args[]) throws BadLocationException {       JFrame frame = new JFrame("Demo");       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       Container container = frame.getContentPane();       JTextPane textPane = new JTextPane();       textPane.setBackground(Color.orange);       SimpleAttributeSet attributeSet = new SimpleAttributeSet();       StyleConstants.setItalic(attributeSet, true);       textPane.setCharacterAttributes(attributeSet, true);       textPane.setText("Recall this and ");       Font font = new Font("Verdana", Font.BOLD, 22);       textPane.setFont(font);       StyledDocument doc2 = (StyledDocument) textPane.getDocument();       Style style2 = doc2.addStyle("StyleName", null);       StyleConstants.setIcon(style2, new ImageIcon("E:\kind.png"));       doc2.insertString(doc2.getLength(), "invisible text", style2);       JScrollPane scrollPane = new JScrollPane(textPane);       scrollPane = new JScrollPane(textPane);       container.add(scrollPane, BorderLayout.CENTER);       frame.setSize(550, 300);       frame.setVisible(true);    } }

Output

Updated on: 2019-07-30T22:30:26+05:30

712 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements