我正在使用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;
}
}
}
我很有兴趣知道你是否有人熟悉这个问题,并且能够解决这个问题吗?
如果您需要我的更多信息,请询问!
答案 0 :(得分:2)
我认为你也需要立即声明你的FormTextField / STextField。
希望这有帮助。