首页 文章

JavaFX8有没有办法在代码中选择DatePicker中的文本而不点击它?

提问于
浏览
2

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控件被聚焦,但未选择文本 - 键入新日期会导致将新字符附加到默认字符 .

有什么建议?

提前致谢 .

2 回答

  • 2

    根据_1768906的提示,问题已经解决了以下问题:

    Platform.runLater(new Runnable() {
    
        @Override
        public void run() {
            datePicker.requestFocus();
            datePicker.getEditor().selectAll();
        }
    });
    

    感谢那 .

  • 0

    调用 stage.show(); 后添加以下代码:

    datePicker.getEditor().requestFocus();
    datePicker.getEditor().positionCaret(0);
    datePicker.getEditor().selectNextWord();
    

相关问题