当前位置: 首页 > 教程 > Java Swing >

Java JTextPane

精华
小牛编辑
136浏览
2023-03-14

1 Java JTextPane的介绍

JTextPane是JEditorPane类的子类。JTextPane用于带有嵌入式图像和组件的样式化文档。它是可以用图形表示的属性标记的文本组件。JTextPane使用DefaultStyledDocument作为其默认模型。

2 Java JTextPane的构造方法

方法 描述
JTextPane() 创建一个新的JTextPane。
JtextPane(StyledDocument doc) 使用指定的文档模型创建一个新的JTextPane。

3 Java JTextPane的方法

方法 描述
Style addStyle(String nm, Style parent) 将新样式添加到逻辑样式层次结构中。
AttributeSet getCharacterAttributes() 获取插入符当前位置有效的字符属性,或者为null。
StyledDocument getStyledDocument() 获取与编辑器关联的模型。
void setDocument(Document doc) 将编辑器与文本文档相关联。
void setCharacterAttributes(AttributeSet attr, boolean replace) 将给定的属性应用于字符内容。
void removeStyle(String nm) 将删除先前添加到文档中的命名非空样式。
void setEditorKit(EditorKit kit) 设置了当前安装的用于处理内容的工具包。
void setStyledDocument(StyledDocument doc) 将编辑器与文本文档相关联。

4 Java JTextPane的案例

package cn.xnip;

import java.awt.BorderLayout;
import java.awt.Color;  
import java.awt.Container;  
import javax.swing.JFrame;  
import javax.swing.JScrollPane;  
import javax.swing.JTextPane;  
import javax.swing.text.BadLocationException;  
import javax.swing.text.Document;  
import javax.swing.text.SimpleAttributeSet;  
import javax.swing.text.StyleConstants;  
public class JTextPaneExample {  
    public static void main(String args[]) throws BadLocationException {  
        JFrame frame = new JFrame("JTextPane案例-小牛知识库网");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        Container cp = frame.getContentPane();  
        JTextPane pane = new JTextPane();  
        SimpleAttributeSet attributeSet = new SimpleAttributeSet();  
        StyleConstants.setBold(attributeSet, true);  
  
        // Set the attributes before adding text  
        pane.setCharacterAttributes(attributeSet, true);  
        pane.setText("Welcome");  
  
        attributeSet = new SimpleAttributeSet();  
        StyleConstants.setItalic(attributeSet, true);  
        StyleConstants.setForeground(attributeSet, Color.red);  
        StyleConstants.setBackground(attributeSet, Color.blue);  
  
        Document doc = pane.getStyledDocument();  
        doc.insertString(doc.getLength(), "To Java ", attributeSet);  
  
        attributeSet = new SimpleAttributeSet();  
        doc.insertString(doc.getLength(), "World", attributeSet);  
  
        JScrollPane scrollPane = new JScrollPane(pane);  
        cp.add(scrollPane, BorderLayout.CENTER);  
  
        frame.setSize(400, 300);  
        frame.setVisible(true);  
      }  
} 

输出结果为: