行を追加したい JTextPane があり、その内容に応じて、書式が異なります。
現在、私はこれを持っています
StyleContext context = new StyleContext();
StyledDocument document = new DefaultStyledDocument(context);
Style styleBold = context.getStyle(StyleContext.DEFAULT_STYLE);
StyleConstants.setBold(styleBold, true);
StyleConstants.setFontSize(styleBold, 18);
Style styleNorm = context.getStyle(StyleContext.DEFAULT_STYLE);
StyleConstants.setFontSize(styleNorm, 15);
for (int i = 0; i < temp.size(); i++) {
String tmp = temp.get(i);
if (tmp.substring(0, 2).equals(COMMENT_PREFIX)) {
String addThis = " - " + tmp.substring(2);
try {
document.insertString(document.getLength(), addThis,
styleNorm);
} //CATCH
} else if (tmp.substring(0, 2).equals(VERSION_PREFIX)) {
Date d = new Date(System.currentTimeMillis());
String addThis = "Version: " + tmp.substring(2) + " - "
+ d.toString();
try {
document.insertString(document.getLength(), addThis,
styleBold);
} //CATCH
}
try {
document.insertString(document.getLength(), "\n", styleNorm);
} //CATCH
}
コード サイズを小さくするために、catch ステートメントを削除しました。
ただし、これにより、テキスト全体がstyleNorm
. これは最後に呼び出されたものStyle
であり、互いに上書きするためですか? もしそうなら、どうすればこれを修正できますか?