【发布时间】:2010-06-27 22:51:30
【问题描述】:
我正在处理的项目的一部分有问题。我想使用 Java Swing 显示一些表情符号,但是它不允许我显示连续相同的样式:
这很好用:Smile Sad Grin
这不起作用:微笑微笑微笑
我正在使用样式化文档,但对它的经验很少。代码如下:
public static void addStylesToDocument(StyledDocument doc) {
//Initialize some styles.
ImageIcon laugh = new ImageIcon("laugh.gif");
ImageIcon sad = new ImageIcon("sad.gif");
ImageIcon tongue = new ImageIcon("tongue.gif");
ImageIcon smile = new ImageIcon("smile.gif");
ImageIcon cry = new ImageIcon("cry.gif");
Style def = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
Style regular = doc.addStyle("regular", def);
StyleConstants.setFontFamily(def, "SansSerif");
Style s = doc.addStyle("laugh", def);
StyleConstants.setIcon(s, laugh);
Style sads = doc.addStyle("sad", regular);
StyleConstants.setIcon(sads,sad);
s = doc.addStyle("tongue", regular);
StyleConstants.setIcon(s,tongue);
s = doc.addStyle("smile", regular);
StyleConstants.setIcon(s,smile);
s = doc.addStyle("cry", regular);
StyleConstants.setIcon(s,cry);
}
^ 为我的文档添加样式
for (i=0;i<typeOfText.size();i++){
System.out.println(parsedText.get(i) + " " + typeOfText.get(i) + " " + i + " " + doc.getLength());
doc.insertString(doc.getLength(),parsedText.get(i),doc.getStyle(typeOfText.get(i)));
}
^ 将样式应用于已解析的文本。
所以我的问题是:Styled Document 是否具有某种属性,所以当我一个接一个地使用相同的样式时,它不会正确显示它们?
编辑:每个文本都用字符串标记器分解,我让它正确解析,并应用适当的样式。
【问题讨论】:
标签: java user-interface swing