JTextPaneフォントの色に問題があり、解決策が見つからないようです。 ユーザーがテキストを入力するテキストボックス(JTextPane)があります。ある時点で、彼はいくつかの単語の色を変えるボタンを押す。JTextPaneのフォント色を変更して古いもので書き込む
SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setBackground(attr, Color.RED);
StyledDocument doc = inputArea.getStyledDocument();
//find the start of the word
String wholeText = inputArea.getText();
int i = 0;
while (i <= wholeText.length() - word.length()) {
if (wholeText.substring(i, i + word.length()).equals(word)) {
doc.setCharacterAttributes(i, word.length(), attr, false);
}
i ++;
}
問題は今、ユーザーが戻ってテキストを書くに返した場合、この単語は、テキストから最後のものであれば、新たに入力したテキストは、黒、赤ではないということです。私はそれを理解しようと2時間を費やしましたが、運はありません。
編集:私はまた、ハイライターを使ってみましたが、問題は同じです。
// Newly typed text at the end of the document will inherit the
// "keyword" attributes unless we remove the attributes
textPane.setCaretPosition(doc.getLength());
textPane.getInputAttributes().removeAttributes(keyWord);
keyWordとは何ですか? –
さて、それを得ました。それは部分的に問題を解決しますが、私はここから管理できると思います。 –