[RESOLVIDO] tratamento de texto em caixa de mensagem

2 respostas
A

Amigos,

preciso criar uma caixa de mensagem com um texto dinamico… e geralmente acima de 500 caracteres… antes de abrir a msg eu teria que tratar a string para nao abrir uma caixa de msg gigante.Isso é simples, porém, ao tratar a string tem um problema…ela quebra as palavras no meio, pois o meu tamanho de linha é fixo, o ideal é que ela só quebrasse a linha nos espaços e não no meio das palavras.

Exemplo: imaginem o texto: “Fechou logo abaixo de boa área a 25.48, este a mínima mais recente, e que rompida ind…”

No meu codigo ele quebra assim as linhas.
“Fechou logo abaixo de boa área a 25.48, este a mínima mais r
ecente
, e que rompida ind…”

o ideal seria que a quebra fosse no primeiro espaço antes ou depois da palavra recente

segue meu codigo:

String texto = null;

String txtBase = null;

int i=0;

int j = 0 ;
txtBase = this.comentarioTA.getText().toString();
    j = txtBase.length();
    texto = txtBase.substring(i, 60) + "\n ";
    i = 60;
    while(i<=j){
        texto = texto + " " + txtBase.substring(i, i + Math.min(60, j-i)) + "\n ";
        i= i + 60;

    }
    JOptionPane.showMessageDialog(null,texto);

2 Respostas

ViniGodoy

Por que não cria um JDialog, com a mensagem toda dentro de um JTextArea? Ele mesmo já trata quebras de linhas. E você ainda pode usar um JScrollBar.
Assim vc não come conteúdo e já ganha a funcionalidade que quer.

Outra coisa, o primeiro parâmetro do JOptionPane deve receber a janela que está abrindo o optionpane, e não null.

A

agradecido amigo… funcionou e ficou show… fiz num jframe mesmo…resolvido…rs

Criado 29 de abril de 2011
Ultima resposta 29 de abr. de 2011
Respostas 2
Participantes 2