我正在處理的項目的一部分存在問題。我想用的Java Swing顯示一些表情符號,但它不會讓我顯示連續相同的風格:Java Swing未顯示的重複樣式
這工作得很好:微笑傷心咧嘴
這不起作用:笑臉笑臉微笑
我正在使用樣式文檔,對它幾乎沒有經驗。代碼如下:
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文檔是否有一定的屬性,以便當我有相同的樣式一個接一個時,它不會正確顯示它們?
編輯:每個文本是用String Tokenizer分解,我得到它解析正確,並適用適當的風格。