Aí, galera!!!
Implementei um HTMLEditorKit para realizar formatações num JEditorPane (Swing) com tags HTML…
Funciona, porém se eu quiser formatar um determinado trecho do texto com duas ou mais formatações a formatação anterior é desfeita…
Tipo: Se eu formatar a palavra “ônibus” para a cor vermelha ([color=red]ônibus[/color])e quiser colocar as letras “bus” em negrito elas voltam a ficar na cor padrão preta ([color=red]ôni[/color]bus) enquanto deveriam continuar vermelhar ([color=red]ônibus[/color])…
Alguém sabe como resolver isso nesse código (abaixo) ???
// obtém o texto selecionado no JEditorPane (editPanel)...
String textoSelecionado = editPanel.getSelectedText();
HTMLEditorKit kit = (HTMLEditorKit)editPanel.getEditorKit();
HTMLDocument doc = (HTMLDocument)editPanel.getDocument();
// retira o texto selecionado do editPanel...
editPanel.replaceSelection("");
try {
// insere as tags HTML responsáveis pela formatação...
kit.insertHTML(doc, editPanel.getCaretPosition(), "<font color=\"rgb(255, 0, 0)\">"+ textoSelecionado, 0, 0, HTML.Tag.FONT);
// retorna a seleção para o texto...
editPanel.select(editPanel.getCaretPosition() - textoSelecionado.length(), editPanel.getCaretPosition());
}
catch (Exception e) {
JOptionPane.showMessageDialog(this, "Formatação Inválida!", "Erro", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
Por favor, alguém???
Valeu!