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
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


0