我有一个JtextPane,其中包含style1
,style2
等。我想检索已插入style1
的textPane中的所有文字。
有办法做到这一点吗?
编辑我正在努力实现的目标:
我有一个客户端从服务器接收不同的MessageTypes
。我有一个“调试”窗口,将每条消息记录到JTextPane。该窗口有一组对应于每种消息类型的JRadioButtons。用户可以检查按钮以查看从服务器发送的特定消息类型。
答案 0 :(得分:1)
您可以定义自己的属性并将其与所有其他属性放在一起。只需使用SimpleAttributeSet
并在那里放置新属性(让我们将其命名为“MessageTypeAttribute”),该值可以是每个所需类型的字符串常量。
迭代Document
使用getCharacterElement()
方法。从0开始,然后移动到元素的结束偏移量以检索下一个元素。
答案 1 :(得分:0)
Looking at the documentation,您可以调用getStyle(String stylename)来获取JTextPane的样式。
您可能想要构建一个这样的方法来选择您想要的文本
public ArrayList<String> getAllOfOneStyle( String inStyle ){
ArrayList<String> strAL = new ArrayList<String>();
if( jtextpane_01.getStyle(inStyle) != null ){
strAL.add( jtextpane_01.getText() );
}
// do this for each JTextPane
}