JTextArea - Trecho de texto não editável

5 respostas
Baldao

Olá,

Existe alguma forma de eu manter apenas um trecho de texto em uma JTextarea não-editável?
Tipo, a JTextarea já é carregada com um texto padrão e o usuário apenas digita logo após esse texto, não podendo removê-lo.

Obrigado

5 Respostas

Odyo

tenta o método

JTextArea teste = new JTextArea();
teste.setEditable(false);

Baldao

O problema é que eu quero que apenas um trecho do texto que está na JTextarea não seja editável e não ela inteira.
Eu preciso que a JTextarea possua um texto padrão que ninguém possa mexer, podendo digitar o que quiser logo após esse texto.

maior_abandonado

vai ter que ser pela sua logica...

vc vai ter que criar uma logica +- assim (ao menos ao meu ver):

tipo...vc vai ter que criar uma variavel de String pra conter o texto da JTextArea, e uma variavel de String para o texto minimo (String minText; //por exemplo):

ai vc vai ter que manda o programa atualiza la, inserindo o conteudo da minText na JTextArea caso ele ja não esteja la (compara no if por substring, sei la, alguma coisa assim).

ele deve atualiza por uma thread que faz isso a cada alguns milisegundos e da um sleep, por exemplo

ou deve usa o evento do kra muda algo no conteudo da JTextArea (nao lembro qual), pra fazer essa verificação. (o mais indicado, o otro é mais lento, considero meio gambi tb).

essa verificação deve ser algo do tipo:

//pega o texto obrigatorio
String minText="aaa";

//pega o tamanho dele pra ser usado ali embaixo
int tamanho=minText.length();

//pega o texto do JTextArea
String texto=sua_JTextArea.getText(); 

//supondo q seu texto obrigatorio é no começo, tipo um bash, dos etc, que vem o endereço e nao da pra tira...
if (!texto.substring(0, tamanho).equals(minText)){
      texto=minText;
      sua_JTextArea.setText(texto);
}
//se nao for no começo, vc poe ai no lugar do 0, a posição do seu texto obrigatorio.

esse bloquinho ai só vai atuar, só vai cai no if caso o usuario apague a parte obrigatoria, reinserindo-a, caso apague tudo vai inserir só a parte obrigatoria... eu não testei, mais esses dias atars ai eu lembro que fiz tipo um bash remoto, pra da o comando em uma maquina e executa na outra, foi +- assim que coloquei o endereço atual no começo da String.

bom...espero ter ajudado... não conheço nenhum metodo que faça só parte do texto ser obrigatorio mais espero q isso ai ja ajude...

maior_abandonado

vai ter que ser pela sua logica...

vc vai ter que criar uma logica +- assim (ao menos ao meu ver):

tipo...vc vai ter que criar uma variavel de String pra conter o texto da JTextArea, e uma variavel de String para o texto minimo (String minText; //por exemplo):

ai vc vai ter que manda o programa atualiza la, inserindo o conteudo da minText na JTextArea caso ele ja não esteja la (compara no if por substring, sei la, alguma coisa assim).

ele deve atualiza por uma thread que faz isso a cada alguns milisegundos e da um sleep, por exemplo

ou deve usa o evento do kra muda algo no conteudo da JTextArea (nao lembro qual), pra fazer essa verificação. (o mais indicado, o otro é mais lento, considero meio gambi tb).

essa verificação deve ser algo do tipo:

//pega o texto obrigatorio
String minText="aaa";

//pega o tamanho dele pra ser usado ali embaixo
int tamanho=minText.length();

//pega o texto do JTextArea
String texto=sua_JTextArea.getText(); 

//supondo q seu texto obrigatorio é no começo, tipo um bash, dos etc, que vem o endereço e nao da pra tira...
if (!texto.substring(0, tamanho).equals(minText)){
      texto=minText;
      sua_JTextArea.setText(texto);
}
//se nao for no começo, vc poe ai no lugar do 0, a posição do seu texto obrigatorio.

esse bloquinho ai só vai atuar, só vai cai no if caso o usuario apague a parte obrigatoria, reinserindo-a, caso apague tudo vai inserir só a parte obrigatoria... eu não testei, mais esses dias atars ai eu lembro que fiz tipo um bash remoto, pra da o comando em uma maquina e executa na outra, foi +- assim que coloquei o endereço atual no começo da String.

bom...espero ter ajudado... não conheço nenhum metodo que faça só parte do texto ser obrigatorio mais espero q isso ai ja ajude...

Baldao

Compreendi o que vc disse… eu imaginei que acabaria sendo por lógica mesmo, só queria ter certeza de que não havia nenhum método relacionado.

A idéia é ter mais ou menos um bash mesmo, gostei da sua idéia.

Valeu cara! :wink:

Criado 23 de setembro de 2007
Ultima resposta 24 de set. de 2007
Respostas 5
Participantes 3