Tworzę edytor tekstu. Mam kilka butonów z kolorami i chcę aby po kliknięciu w button zmieniał się kolor czcionki. Udało mi się zrobić, że po zaznaczeniu tekstu i kliknięciu w button zmienia się tekst. Ale nie wychodzi mi, aby czcionka jaką piszę zmieniała się bez zaznaczenia tekstu. Teraz jest tak: piszę tekst zaznaczam część, klikam czerwony i zmienia zaznaczony tekst na czerwono i mogę pisać na czerwono. Jednak teraz bez zaznaczenia tekstu nie mogę kliknąć niebieskiego, jedynie gdy znów zaznaczę część tekstu.
Teraz tę część kodu mam tak:
StyledDocument doc = textPane.getStyledDocument();
int start = textPane.getSelectionStart();
int end = textPane.getSelectionEnd();
if (start == end) {
return;
}
if (start > end) {
int life = start;
start = end;
end = life;
}
Style style = textPane.addStyle("MyHilite", null);
StyleConstants.setForeground(style, Color.RED.darker());
doc.setCharacterAttributes(start, end - start, style, false);