2011-11-28 19 views

Respuesta

29
TextArea ta = new TextArea(); 
ta.setText("1234567890"); 
ta.positionCaret(4); 
+12

positionCaret() ... qué nombre confuso para ese método. – ceklock

+3

sí, algo así como 'setCaretPosition' sería conveniente –

+0

Hay un comportamiento bastante extraño en TextArea, al igual que la flecha hacia abajo no se mueve hacia abajo. – brian

5

Puede usar la función positionCaret como se mencionó anteriormente. Pero asegúrese de envolverlo en Platform.runLater. De lo contrario, podría no funcionar en absoluto.

Platform.runLater(new Runnable() { 
    @Override 
    public void run() { 
     textArea.positionCaret(0); 
    } 
}); 
+4

Solo si se ejecuta desde otro hilo que no sea el hilo de UI principal. – DeepSidhu1313

1

Hay dos métodos en TextInputControl que permiten la manipulación de la posición de intercalación. Estos son: -

  1. selectPositionCaret (int pos) - Selecciona el texto entre la última posición del símbolo hasta la posición del símbolo actual que ha introducido.

  2. positionCaret (int pos) - Establece la posición actual de intercalación borrando la selección anterior también.

Creo que en su caso desea utilizar el método positionCaret para establecer la posición sin ninguna selección.

Cuestiones relacionadas