Я написал эту функцию, чтобы изменить цвет фона текста в jTextPane. В первый раз, когда я это называю, он работает нормально, но почему-то, когда я вызываю функцию дважды, цвет фона каждого отдельного символа в текстовой панели меняется на цвет c.
private void mark(int start,int end, Color c){
String markText = MainText.getText().substring(start,end);
MainText.setText(MainText.getText().substring(0,start) +
MainText.getText().substring(end));
StyleContext sc = StyleContext.getDefaultStyleContext();
AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY,
StyleConstants.Background, c);
MainText.setCaretPosition(start);
MainText.setCharacterAttributes(aset, false);
MainText.replaceSelection(markText);
}
mainText - это jTextPane. начало и конец - это индексы символов, которые я хочу изменить в цвете фона (начальный индекс и конечный индекс).