java jtextpane_Java Swing JTextPane

Java Swing教程 - Java Swing JTextPane

JTextPane类是JEditorPane类的一个子类,是一个专用组件,用于处理带有嵌入图像和组件的样式文档。

要显示HTML,RTF或纯文档,请使用JEditorPane。要编辑或显示样式文本,请使用JTextPane。 JTextPane是一个迷你文字处理器。

JTextPane使用一个样式文档作为其模型,它是StyledDocument接口的一个实例。

StyledDocument接口继承Document接口。DefaultStyledDocument是StyledDocument接口的实现类。

JTextPane使用DefaultStyledDocument作为其默认模型。

Swing文本组件中的文档包含以树状结构组织的元素。

文档中的元素是javax.swing.text.Element接口的实例。

样式文本

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Container;

/*fromwww.java2s.com*/

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 Main {

public static void main(String args[]) throws BadLocationException {

JFrame jf = new JFrame("StyledText");

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container cp = jf.getContentPane();

JTextPane pane = new JTextPane();

SimpleAttributeSet set = new SimpleAttributeSet();

StyleConstants.setBold(set, true);

// Set the attributes before adding text pane.setCharacterAttributes(set, true);

pane.setText("www.w3cschool.cn ");

set = new SimpleAttributeSet();

StyleConstants.setItalic(set, true);

StyleConstants.setForeground(set, Color.red);

StyleConstants.setBackground(set, Color.blue);

Document doc = pane.getStyledDocument();

doc.insertString(doc.getLength(), "Swing ", set);

set = new SimpleAttributeSet();

StyleConstants.setFontSize(set, 24);

doc.insertString(doc.getLength(), "Tutorial", set);

JScrollPane scrollPane = new JScrollPane(pane);

cp.add(scrollPane, BorderLayout.CENTER);

jf.setSize(400, 300);

jf.setVisible(true);

}

}

风格上下文

import java.awt.Color;

/*fromwww.java2s.com*/

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTextPane;

import javax.swing.SwingUtilities;

import javax.swing.text.BadLocationException;

import javax.swing.text.DefaultStyledDocument;

import javax.swing.text.Style;

import javax.swing.text.StyleConstants;

import javax.swing.text.StyleContext;

public class Main {

public static void main(String[] args) {

JFrame f = new JFrame();

StyleContext sc = new StyleContext();

final DefaultStyledDocument doc = new DefaultStyledDocument(sc);

JTextPane pane = new JTextPane(doc);

final Style heading2Style = sc.addStyle("Heading2", null);

heading2Style.addAttribute(StyleConstants.Foreground, Color.red);

heading2Style.addAttribute(StyleConstants.FontSize, new Integer(16));

heading2Style.addAttribute(StyleConstants.FontFamily, "serif");

heading2Style.addAttribute(StyleConstants.Bold, new Boolean(true));

try {

SwingUtilities.invokeAndWait(new Runnable() {

public void run() {

try {

doc.insertString(0, text, null);

doc.setParagraphAttributes(0, 1, heading2Style, false);

} catch (BadLocationException e) {

}

}

});

} catch (Exception e) {

System.out.println("Exception when constructing document: " + e);

System.exit(1);

}

f.getContentPane().add(new JScrollPane(pane));

f.setSize(400, 300);

f.setVisible(true);

}

public static final String text = "Attributes, Styles and Style Contexts\n"

+ "this is a test.\n";

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值