코드에서 수동으로 캐럿 위치를 설정해야합니다. javafx.scene.control.TextInputControl
아래에 getCaretPosition()
이 있지만 설정 방법이 없습니다.javafx.scene.control.TextArea와 javafx.scene.control.TextField에서 캐럿 위치를 설정하십시오.
어떻게 캐럿 위치를 설정할 수 있습니까?
코드에서 수동으로 캐럿 위치를 설정해야합니다. javafx.scene.control.TextInputControl
아래에 getCaretPosition()
이 있지만 설정 방법이 없습니다.javafx.scene.control.TextArea와 javafx.scene.control.TextField에서 캐럿 위치를 설정하십시오.
어떻게 캐럿 위치를 설정할 수 있습니까?
TextArea ta = new TextArea();
ta.setText("1234567890");
ta.positionCaret(4);
앞서 언급 한 것처럼 positionCaret 기능을 사용할 수 있습니다. 그러나 Platform.runLater에서 다시 포장하십시오. 그렇지 않으면 전혀 작동하지 않을 수 있습니다.
Platform.runLater(new Runnable() {
@Override
public void run() {
textArea.positionCaret(0);
}
});
메인 UI 스레드가 아닌 다른 스레드에서 실행중인 경우에만 해당. – DeepSidhu1313
캐럿 위치를 조작 할 수있는 두 가지 방법이 TextInputControl에 있습니다. 이들은 : -
selectPositionCaret (INT의 POS)이 - 사용자가 입력 한 현재 캐럿 위치까지 마지막 캐럿 위치 사이에있는 텍스트를 선택합니다.
positionCaret (int pos) - 이전 선택을 지우는 현재 캐럿 위치를 설정합니다.
그래서 당신의 경우에는 positionCaret 메서드를 사용하여 선택없이 위치를 설정하려고한다고 생각합니다.
positionCaret() ... 그 메소드에 대해 혼동을주는 이름입니다. – ceklock
예,'setCaretPosition'과 같은 smth가 편리합니다 –
아래쪽 화살표가 아래로 움직이지 않는 것처럼 TextArea에서 꽤 이상한 동작이 있습니다. – brian