글꼴 크기를 수정하지 않고 TextField에서 캐럿의 크기를 조정하려하지만이를 수행 할 수 없습니다.TextField (JavaFX 8)에서 캐럿 크기 변경
누구든지 어떻게하는지 압니까?
감사합니다.
글꼴 크기를 수정하지 않고 TextField에서 캐럿의 크기를 조정하려하지만이를 수행 할 수 없습니다.TextField (JavaFX 8)에서 캐럿 크기 변경
누구든지 어떻게하는지 압니까?
감사합니다.
왜 이렇게하고 싶지는 모르겠다. 그리고 이것은 아마도 당신이 원하는 것을 정확하게주지는 못하지만, 캐럿의 크기를 변경합니다. 큰 캐럿은 여전히 포함 된 TextField 범위 내에 오도록 잘립니다.
m과 a 사이의 작은 선은 작은 캐럿입니다.
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class BiglyCaret extends Application {
@Override
public void start(Stage stage) throws Exception {
TextField bigCaretTextField = new TextField("Big Caret");
bigCaretTextField.setSkin(
new TextFieldCaretControlSkin(
bigCaretTextField,
2
)
);
TextField smallCaretTextField = new TextField("Small Caret");
smallCaretTextField.setSkin(
new TextFieldCaretControlSkin(
smallCaretTextField,
0.5
)
);
TextField normalTextField = new TextField("Standard Caret");
VBox layout = new VBox(
10,
bigCaretTextField,
smallCaretTextField,
normalTextField
);
layout.setPadding(new Insets(10));
stage.setScene(new Scene(layout));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
TextFieldCaretControlSkin.java
참고,이 자바 8 개인 API 클래스를 사용하여가 '원 있도록 :보기는 어렵다 그래서 유래로 이미지 전송은 선명도를 감소 Java 9에서 작동합니다. Java 9에서 TextFieldSkin은 com.sun
패키지 대신 javafx
패키지로 이동하여 공용 API가되므로 패키지를 변경하면 Java 9에서 작동합니다.
그게 완벽합니다. 감사! – Aniru
당신은 아마 [캐럿 경로를 변경] 수 (http://stackoverflow.com/questions/27315861/hide :
이 답변이 답변에 따라 한 -input-caret-of-textfield-in-javafx8)을 사용하면됩니다. – jewelsea