单击时在 JSpinner 中选择一部分文本

问题描述

我有一个带有 SpinnerDateModel 的 JSpinner。我希望当用户单击编辑器的任何部分(日期、月份或年份)时,它会自动选择它们。所以我写了这个:

JSpinner dateSpn = new JSpinner();
dateSpn.setModel(new SpinnerDateModel());
JSpinner.DateEditor editor = new JSpinner.DateEditor(dateSpn,"dd-MM-yyyy");
dateSpn.setEditor(editor);
JFormattedTextField field = editor.getTextField();
field.addMouseListener(new MouseAdapter() {
    public void mousePressed(MouseEvent evt) {
        int i = field.getCaretPosition();
        if (i <= 2) {
            field.select(0,2);
        } else if (i >= 3 && i <= 5) {
            field.select(3,5);
        } else if (i >= 6){
            field.select(6,10);
        }
    }
});

但是当它第一次点击时,什么也没发生。虽然当我再次单击它时,它运行良好。我的代码哪里有问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)