JavaFX8中是否有一种方法可以从Java代码中选择DatePicker中的日期(作为文本)?我希望以这种方式使用DatePicker激活控件,用户可以在不使用鼠标的情况下编辑日期。
这里描述了类似的问题Is there a way to select a text field in code without clicking on it (javafx)?,但问题出在TextField上。
我尝试过上述问题中给出的解决方案:
Platform.runLater(new Runnable() {
@Override
public void run() {
datePicker.requestFocus();
}
});
结果,datePicker控件被聚焦,但未选择文本 - 键入新日期会导致将新字符附加到默认字符。
有什么建议吗?
提前致谢。
答案 0 :(得分:2)
问题已根据kleopatra的提示以下列方式解决:
Platform.runLater(new Runnable() {
@Override
public void run() {
datePicker.requestFocus();
datePicker.getEditor().selectAll();
}
});
谢谢你。
答案 1 :(得分:0)
在致电stage.show();
后添加以下代码:
datePicker.getEditor().requestFocus();
datePicker.getEditor().positionCaret(0);
datePicker.getEditor().selectNextWord();