У меня есть JTextPane, где я хочу добавить строки, и в зависимости от их содержимого у них есть другое форматирование.Форматирование 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
}
Я вынул заявления об уловах, чтобы уменьшить размер кода.
Тем не менее, это форматирует весь текст с помощью styleNorm
. Это потому, что последнее называется Style
, и они перезаписывают друг друга? Если да, то как это исправить?
Textpane боль, но вам нужно Formatter. – 2013-03-24 15:17:50
Пожалуйста, отредактируйте свой вопрос, чтобы включить [sscce] (http://sscce.org/), который фокусируется на одной проблеме. – trashgod