我需要在我的代码中手动设置插入位置。
<{1}}下有getCaretPosition()
,但没有setter方法。
如何设置插入位置?
答案 0 :(得分:33)
TextArea ta = new TextArea();
ta.setText("1234567890");
ta.positionCaret(4);
答案 1 :(得分:7)
您可以使用前面提到的positionCaret函数。但请确保将其包装在Platform.runLater中。否则它可能根本不起作用。
Platform.runLater( new Runnable() {
@Override
public void run() {
textArea.positionCaret( 0 );
}
});
答案 2 :(得分:1)
TextInputControl中有两种方法可以操作插入位置。 这些是: -
selectPositionCaret(int pos) - 选择最后一个插入位置到您输入的当前插入位置之间的文本。
positionCaret(int pos) - 设置清除上一个选择的当前插入位置。
所以我认为在你的情况下你想使用positionCaret方法设置位置而不做任何选择。
答案 3 :(得分:0)
如果你想在你的 TextField 的末尾添加它,你可以做下一个
TextFieldName.positionCaret(TextFieldName.getText().length());
这将在末尾添加光标。