20

コードで手動でキャレット位置を設定する必要があります。getCaretPosition()アンダーはありますがjavafx.scene.control.TextInputControl、セッター方式はありません。

キャレットの位置を設定するにはどうすればよいですか?

4

4 に答える 4

36
TextArea ta = new TextArea();
ta.setText("1234567890");
ta.positionCaret(4);
于 2011-11-30T14:05:57.320 に答える
8

前述のように positionCaret 関数を使用できます。ただし、必ず Platform.runLater でラップしてください。そうしないと、まったく機能しない可能性があります。

Platform.runLater( new Runnable() {
    @Override
    public void run() {
        textArea.positionCaret( 0 );
    }
});
于 2015-06-22T10:57:45.083 に答える
2

TextInputControl には、キャレット位置の操作を可能にする 2 つのメソッドがあります。これらは :-

  1. selectPositionCaret(int pos) - 最後のキャレット位置から入力した現在のキャレット位置までのテキストを選択します。

  2. positionCaret(int pos) - 現在のキャレット位置を設定し、以前の選択もクリアします。

あなたの場合、positionCaret メソッドを使用して、選択なしで位置を設定したいと思います。

于 2016-09-08T05:33:34.830 に答える
0

TextField の最後に追加したい場合は、次のことができます

TextFieldName.positionCaret(TextFieldName.getText().length());

これにより、The end に Curser が追加されます。

于 2021-08-02T08:24:47.440 に答える