Javafx 如何在输入时在微调器文本字段中选择数字或文本?
我正在使用javafx微调器处理整数。当我单击微调器或使用TAB键移动到微调器时,是否有方法选择微调器中的值? 它适用于具有以下代码的文本区域:Javafx 如何在输入时在微调器文本字段中选择数字或文本?,javafx,spinner,Javafx,Spinner,我正在使用javafx微调器处理整数。当我单击微调器或使用TAB键移动到微调器时,是否有方法选择微调器中的值? 它适用于具有以下代码的文本区域: myTextArea.focusedProperty().addListener((obs, isFocused, isNowFocused) -> { if (isNowFocused) { myTextArea.selectAll(); } }) selectAll()不适用于微调器。我想开始在
myTextArea.focusedProperty().addListener((obs, isFocused, isNowFocused) -> {
if (isNowFocused) {
myTextArea.selectAll();
}
})
selectAll()不适用于微调器。我想开始在微调器字段中键入,而不删除初始值。您可以在
微调器的编辑器(它是文本字段
)上调用selectAll()
spinner.focusedProperty().addListener((obs, wasFocused, isFocused) -> {
if (isFocused) {
Platform.runLater(spinner.getEditor()::selectAll);
}
});
尝试此操作时,我必须将selectAll
调用包装在平台中。稍后运行调用。微调器
自身在获得焦点时可能正在执行某些操作,这会干扰对selectAll
的调用;使用Platform.runLater
将调用延迟到Spinner
执行任何操作后的某个时间。是的,它可以工作。我也尝试了“spinner.getEditor().selectAll”,但对Platform.runLater一无所知。我真的很绝望,非常感谢!