我正在将Javafx微调器用于Integers。当我单击微调器或使用TAB移至微调器时,是否可以选择该值? 像它适用于TextAreas的代码如下:
myTextArea.focusedProperty().addListener((obs, isFocused, isNowFocused) -> {
if (isNowFocused) {
myTextArea.selectAll();
}
})
selectAll()对微调器不起作用。我想开始在微调框输入内容,而不必事先删除初始值。
答案 0 :(得分:1)
您可以在selectAll()
的编辑器(即TextField
)上调用Spinner
。
spinner.focusedProperty().addListener((obs, wasFocused, isFocused) -> {
if (isFocused) {
Platform.runLater(spinner.getEditor()::selectAll);
}
});
尝试此操作时,我不得不将selectAll
调用包装在Platform.runLater
调用中。 Spinner
本身在获得焦点时可能正在做某事,从而干扰了对selectAll
的调用;使用Platform.runLater
将呼叫推迟到Spinner
做任何事情之后的某个时间。