Alguém sabe formatar texto em JTextPane?

1 resposta
Linkel

Aí, galera!
Alguém sabe formatar texto em JTextPane?
Tipo, eu preciso formatar uma palavra selecionada num texto digitado dentro de um JTextPane com a letra maior e na cor vermelha, por exemplo.
Algúem sabe como fazer isso?
Um abraço!

1 Resposta

Linkel

Aí, galera… Ninguém me respondeu nesse tópico, porém consegui uma solução e vou responder a pergunta para finalizar o tópico com a solução para ajudar aqueles que tiverem o mesmo problema e lerem esse tópico através da pesquisa do fórum…
Para formatação de texto que será gravado em banco de dados, sem dúvidas, a melhor opção para a maioria dos casos é o uso do HTML, que você pode gravar num simples campo do tipo text…
Usamos o componente jEditorPane, ao invés do jTextPane, para a tarefa de exibir um container HTML…
Para isso, vamos dar a opção de itálico a um texto selecionado pelo usuário…
// no ActionPerformed de um jButton, por exemplo, podemos chamar o método para colocar em itálico o texto selecionado... private void formatarSelecaoItalico() { // vamos separar o texto selecionado e o texto não selecionado no JEditorPane instanciado como editPanel... String selecaoStr, textoForaSelecao1 = editPanel.getText().substring(0,editPanel.getSelectionStart()); String textoForaSelecao2 = editPanel.getText().substring(editPanel.getSelectionEnd(), editPanel.getText().length()); selecaoStr = editPanel.getSelectedText(); // agora, usando replaceAll vamos colocar as tags HTML para definirmos o itálico... selecaoStr = selecaoStr.replaceAll(selecaoStr, "<i>"+selecaoStr+"</i>"); // e então, é só voltar todo o texto retirado para o editPanel e partir para o abraço... rssrsrsr... editPanel.setText(textoForaSelecao1+selecaoStr+textoForaSelecao2); }
Bom, essa foi a solução que eu desenvolvi para mim… Funciona perfeitamente… Talvez alguém saiba de algo mais simples do que o uso de substring e replace, mas está aí para quem precisar fazer…
Um grande abraço!

Criado 7 de maio de 2008
Ultima resposta 21 de mai. de 2008
Respostas 1
Participantes 1