为什么在JavaFX中自动选择第一个文本字段

为什么在JavaFX中自动选择第一个文本字段,javafx,Javafx,我想初始化java fx文本字段中的文本。为什么文本已被选中。 类FXMLDocumentController中的代码段 @Override public void initialize(URL location, ResourceBundle resources) { source.setText("test source"); dest.setText("test dest"); source.setEditable(false);

我想初始化java fx文本字段中的文本。为什么文本已被选中。

类FXMLDocumentController中的代码段

@Override
    public void initialize(URL location, ResourceBundle resources) {
        source.setText("test source");
        dest.setText("test dest");
        source.setEditable(false);
        dest.setEditable(false);
    }

这是文本字段通过鼠标交互以外的方式获得焦点时的默认行为。如果要更改此设置,可以将侦听器添加到取消选择的聚焦属性:

source.focusedProperty().addListener((o, oldValue, newValue) -> {
    if (newValue) {
        Platform.runLater(() -> {
            int carretPosition = source.getCaretPosition();
            if (source.getAnchor() != carretPosition) {
                source.selectRange(carretPosition, carretPosition);
            }
        });
    }
});

是的@fabian我是说