【发布时间】:2011-12-16 15:29:26
【问题描述】:
我正在使用 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;
}
}
}
我很想知道你们中是否有人熟悉这个问题并能够解决它?
如果您想了解我的更多信息,请询问!
【问题讨论】:
-
您还有其他听众可能会妨碍您吗?
-
@Marthin 在代码 sn-p 所在的类中没有其他侦听器。然而,持有这个类的几个实例的类也有其他 Button.ClickLister 的。
标签: java listener textfield vaadin