JTextPane使用笔记

阅读更多

1.布局

存放有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);

2.插入图片

JTextPane提供insertIcon(Icon icon)方法,可直接调用,由于ImageIcon实现了Icon接口,可利用ImageIcon类来调用本地图片:

textPane.insertIcon(new ImageIcon("D:\\image.gif"));

3.插入样式文本

首先获取JTextPane的编辑器关联模型

public StyledDocument getStyledDocument()

再对实现了Document接口的类进行插入编辑,用到的类有如下说明:

首先是属性类:

写道
public interface AttributeSet()
唯一属性的集合。这是只读的、不可变的接口。属性基本上是键和与该键关联的值。该集合可能表示类似于 run 风格、逻辑风格等内容。这些内容通常用于描述某个图形表示形式(如字体)的功能。

 MutableAttributeSet 实现了AttributeSet接口,可提供属性的存放。

其次是属性类的操作类:

写道
public class StyleConstants extends Object
一个已知的 或常见的属性键和方法的集合,可通过应用 AttributeSet 或 MutableAttributeSet 方法以类型安全的方式获取/设置属性。
段落属性定义了所呈现的段落。所有的大小都是以点的形式指定的(如 postscript 中所示),其测量与设备无关。

 它提供了多种设置/获取属性的方法,可用于属性的设置和获取。

 

 

那么,插入样式文本的方法如下:

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中插入带样式的文本。

 

 

 

你可能感兴趣的:(JTextPane,带样式文本,插入图片,布局)