Java - Problemilla con TextArea de AWT

 
Vista:

Problemilla con TextArea de AWT

Publicado por David (3 intervenciones) el 31/08/2006 12:09:34
Hola a todos,

tengo un problemilla con un TextArea de AWT. Veamos... el problema concretamente es con los métodos setSelectionStart y setSelectionEnd (tambien con el método select, que viene a ser lo mismo).
La cuestión es que no me selecciona el texto que le digo cuando hay saltos de línea en el textarea, i no tengo ni p... idea de cual es el sistema que sigue.
Veamos un ejemplo con un applet para aclararlo:

import java.awt.*;
import java.applet.*;
public class miEditor extends Applet {
TextArea ta;
public void init() {
setLayout(new GridLayout(1,1));
ta = new TextArea("",7,60, TextArea.SCROLLBARS_VERTICAL_ONLY);
ta.setFont(new Font("Monospaced", Font.PLAIN, 12));
add(ta);
}
public void test(){
int selectionStart = ta.getSelectionStart();
int selectionEnd = ta.getSelectionEnd();
ta.setSelectionStart(selectionStart);
ta.setSelectionEnd(selectionEnd);
}
}

Si hacemos una llamada al método test() despues de escribir y seleccionar un texto en el textarea, daría la sensación de que despues de la llamada a test() la selección se tiene que mantener intacta, pero no, la selección cambia. Los valores que retorna getSelectionStart y getSelectionEnd no valen para hacer los setSelection.
Solo pasa esto cuando hay saltos de línea, entonces he pensado que el problema pueden ser los caracteres \n y \r, però he probado de todo y no sé que patron siguen los setSelection para hacer la seleccion de lo que yo quiero.

Gracias por adelantado,

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder