我想在 GWT DateBox 内设置水印/占位符。我知道如何使用 onFocus 和 onBlur 在普通的 TextBox 中设置水印/占位符。我认为在 DateBox 中这样做会比较相似。设置文本当前看起来像这样,但什么都不做。
Datebox box = new DateBox();
box.getTextBox().setText("mm/dd/yyyy");
有没有理由这不起作用?
box.getTextBox().setValue("mm/dd/yyyy");
我想你在这里真正谈论的是能够设置占位符文本。我之前在这里TextBox
发布了元素的解决方案。该过程将非常相似:
public class DateField extends DateBox {
String placeholder = "";
/**
* Creates an empty DateField.
*/
public DateField() {}
/**
* Gets the current placeholder text for the date box.
*
* @return the current placeholder text
*/
public String getPlaceholder() {
return placeholder;
}
/**
* Sets the placeholder text displayed in the date box.
*
* @param placeholder the placeholder text
*/
public void setPlaceholder(String text) {
placeholder = (text != null ? text : "");
getElement().setPropertyString("placeholder", placeholder);
}
}
然后用DateBox
对象替换你的对象DateField
,你只需调用someDateField.setPlaceholder("mm/dd/yyyy");
.