我想要一个监听器,当它获得焦点时,它会自动选择JXDatePickers编辑器单元上的条目。

DatePicker.getEditor().selectAll();


不起作用。所以我尝试了这个:

DatePicker.getEditor().addFocusListener(new FocusListener() {
        @Override
        public void focusGained(FocusEvent e) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {

                    DatePicker. getEditor().selectAll();
                }
             });
        }

public void focusLost(FocusEvent e) {
}
});


有什么建议么 ?

最佳答案

编辑

刚意识到您可能拥有独立的datepicker,并运行您的代码段:worksforme。因此,我们需要挖掘差异-您的swingx / jdk版本和操作系统是什么?

原版的

通常,JFormattedTextField很难说服被选中;-)参见

Combining JXTable with RXTable

并修改解决方案以处理JXDatePicker-通过添加

    if (editor instanceof JXDatePicker) {
        LOG.info("got picker: " + editor);
        invokeSelectAll(((JXDatePicker) editor).getEditor());
        return;
    }

10-01 21:16