TextField selectAll的工作时间是一半

时间:2011-12-16 15:29:26

标签: java listener textfield vaadin

我正在使用Vaadin并在表单中有一组文本字段。 textfields有focusListeners,它触发一个方法,如果有的话,将所有文本都集中在texfield中。

我的问题是,自动选择的工作时间只有一半。如果我在文本字段中粘贴一些文本,请在文本字段外单击,然后在其中单击,将选择文本。但是,如果我再次点击外面,然后在文本字段中,文本将在几分之一秒内被选中,然后只有输入标记,而不是我在文本中单击它。

以下是代码:

class FormTextField extends FormLayout  {

        private static final long serialVersionUID = -2738069810605965508L;

        String caption;
        final STextField textField = Cf.formTextField(caption, "", 22);

        public FormTextField(String textField)  {

            addStyleName("panelform");
            setWidth(formWidth, UNITS_EM);

            this.textField.setCaption(textField);
            this.textField.setImmediate(true);

            this.textField.addListener(new FieldEvents.FocusListener() {

                @Override
                public void focus(FocusEvent event) {
                    textFieldSelectAll();
                }
            });


            addComponent(this.textField);

        }

        private void textFieldSelectAll()   {
            this.textField.selectAll();
        }

        public STextField getTextField()    {

            return textField;

        }
    }
}

我很有兴趣知道你是否有人熟悉这个问题,并且能够解决这个问题吗?

如果您需要我的更多信息,请询问!

1 个答案:

答案 0 :(得分:2)

我认为你也需要立即声明你的FormTextField / STextField。

希望这有帮助。