如果將它們設置爲只讀模式,則JavaFX文本字段不顯示文本插入符號。下面是一個示例:JavaFX-8使文本插入符在只讀文本區域中可見
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;
public class TextAreaReadOnly extends Application {
public TextAreaReadOnly() {
}
@Override
public void start(Stage primaryStage) throws Exception {
TextArea textarea = new TextArea();
textarea.setText("This is all\nreadonly text\nin here.");
textarea.setEditable(false);
Scene scene = new Scene(textarea, 600, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
雖然仍然可以使用Shift +光標鍵選擇文本,但不會顯示插入符號。有沒有人知道這個解決方法?
爲什麼在'ReadOnly'文本控件上需要'TextCaret'?當它懸停在文本上時,是否要設置鼠標指針的樣式? – ItachiUchiha 2014-12-04 10:46:57
我不想讓鼠標指針改變。我希望textarea顯示TextInputControl.getCaretPosition()的位置。 我猜TextArea背後沒有顯示插入符號的基本原理是你不需要它,因爲無論如何,只要它是隻讀的,你都不能插入任何文本。但這是錯誤的(IMO),因爲你仍然可以用光標鍵選擇文本,因此你絕對需要一個插入符號。 – rli 2014-12-04 10:53:13