我正在使用Vaadin,并且在表单中有一组文本字段。文本字段具有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;
}
}
}
我非常想知道您中的某人是否熟悉此问题并且能够解决该问题?
如果您想从我这里得到更多信息,请询问!
最佳答案
我认为您也需要立即声明FormTextField / STextField。
希望这可以帮助。
关于java - TextField selectAll一半时间起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8536341/