GWT-uibinder复合材料
我正在创建一个带有标签和文本框的复合uibinder小部件 预期用途为:GWT-uibinder复合材料,gwt,composite,uibinder,Gwt,Composite,Uibinder,我正在创建一个带有标签和文本框的复合uibinder小部件 预期用途为: <x:XTextBox ui:field="fieldName" label="a caption" > The text to be put in the box. </x:XTextBox> 要放入框中的文本。 我已经找到了如何使用自定义的@UiConstructor构造函数捕获标签,我可能会向构造函数添加另一个参数,但我想知道如何从xml中获取文本,就像GWT标记标题那样 非常感
<x:XTextBox ui:field="fieldName" label="a caption" >
The text to be put in the box.
</x:XTextBox>
要放入框中的文本。
我已经找到了如何使用自定义的@UiConstructor
构造函数捕获标签,我可能会向构造函数添加另一个参数,但我想知道如何从xml中获取文本,就像GWT标记标题那样
非常感谢您的帮助 只需将文本放入小部件的另一个参数中,并让@UiConstructor
获取该参数。即:
<x:XTextBox ui:field="fieldName" label="a caption"
text="The text to be put in the box." />
通过查看标签小部件源代码,我找到了一个可能的实现
关键点是复合小部件必须实现HasText接口。因此,在宣言和正文中:
public class XTextBox extends Composite implements HasText ...
...
@UiField TextBox textBox;
...
public void setText(String text) {
textBox.setText(text);
}
public String getText() {
return textBox.getText();
}
...
韩寒是对的;HasText是您需要实现的。我发现有一件事很方便,那就是如果你知道一个谷歌小部件也做了你想做的事情,那就浏览源代码。e、 g
public class XTextBox extends Composite implements HasText ...
...
@UiField TextBox textBox;
...
public void setText(String text) {
textBox.setText(text);
}
public String getText() {
return textBox.getText();
}
...