存放有JTextPane的JScrollPane容器放到BoderLayout类型的布局管理器的容器中时,会自动撑开,填满外层容器:
JPanel left_top_Pane = new JPanel(); left_top_Pane.setLayout(new BorderLayout()); JTextPane textPane = new JTextPane(); left_top_Pane.add(new JScrollPane(textPane), BorderLayout.CENTER);
JTextPane提供insertIcon(Icon icon)方法,可直接调用,由于ImageIcon实现了Icon接口,可利用ImageIcon类来调用本地图片:
textPane.insertIcon(new ImageIcon("D:\\image.gif"));
首先获取JTextPane的编辑器关联模型
public StyledDocument getStyledDocument()
再对实现了Document接口的类进行插入编辑,用到的类有如下说明:
首先是属性类:
MutableAttributeSet 实现了AttributeSet接口,可提供属性的存放。
其次是属性类的操作类:
它提供了多种设置/获取属性的方法,可用于属性的设置和获取。
那么,插入样式文本的方法如下:
Document doc = textPane.getStyledDocument(); MutableAttributeSet set = new MutableAttributeSet(); StyleConstants.setForeground(set, textColor);//设置文字颜色 StyleConstants.setFontSize(set, 12);//设置字体大小 try{ doc.insertString(doc.getLength(), text, set);//插入文字 }catch (BadLocationException e){ }
至此,完成了在TextPane中插入带样式的文本。