Bom,
Depois de umas 4 horas apanhando para o jeditorpane, descobri por que estava tudo tão “dificil”, como eu estava enfiando tags na força bruta, (insertHtml) os actions do editorkit ficavam “loucos” e acabavam fazendo besteira ou entrando em loop infinito. Basta enfiar na marra um P que dependendo do aninhamento ele fica doido.
O JEditorPane já possui todos os actions basicos para edição, além disso, o editorkit (html, rtf, etc) já possui outro punhado. O problema:
Eu não encontrei NENHUMA documentação sobre a existencia desses actions. O mais próximo disso foi um notepad demo que vem no jdk. Porém: no jeditorpane as PORCARIAS desses actions vêm sem nome. Não existe muito problema quando é um action único (bold, por exemplo) mas e nos actions que usam a mesma classe? Como vou adivinhar, por exemplo, qual action alignment é para left, right, center? Pois é, tem que fazer uma porcaria de loop varrendo todos os actions para pegar qual é o alignment que você quer usar no teu botão. Mas isso não me deixou tão perplexo quanto a completa falta de documentação sobre os editorkits e sobre jeditorpane.
Enfim, é por isso que swing é uma merda.
[]s
Segunda duvida,
Agora eu tenho os actions funcionando, porém, preciso de algo que me diga em que “tag alterada” eu estou. Exemplo: o action BOLD foi executado (toggle button), o usuário move o caret para uma posição aleatória sem BOLD, preciso deselecionar o toggle button, e agora?
Provavelmente não vou ter resposta, mas enfim, obrigado por ler. 