2011-11-28 5 views

risposta

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

positionCaret() ... un nome confuso per tale metodo. – ceklock

+3

sì, smth come 'setCaretPosition' sarebbe conveniente –

+0

C'è un comportamento piuttosto strano in TextArea, come la freccia in giù non si sposta verso il basso. – brian

5

È possibile utilizzare la funzione positionCaret come accennato in precedenza. Ma assicurati di avvolgerlo in Platform.runLater. Altrimenti potrebbe non funzionare affatto.

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

Solo se viene eseguito da un altro thread rispetto al thread principale dell'interfaccia utente. – DeepSidhu1313

1

Esistono due metodi in TextInputControl che consentono la manipolazione della posizione del cursore. Questi sono: -

  1. selectPositionCaret (int pos) - Consente di selezionare il testo tra l'ultimo posizione del cursore fino alla posizione del cursore corrente che hai inserito.

  2. positionCaret (int pos) - Imposta la posizione attuale del cursore eliminando anche la selezione precedente.

Quindi penso che nel tuo caso tu voglia utilizzare il metodo positionCaret per impostare la posizione senza alcuna selezione.

Problemi correlati