使用flextable与uiBinder合作的最佳方式是什么,我已经知道我必须提供它并启动它initWidget
@UiField(provided = true) FlexTable contentTable;
但我只需要一个表格作为输入矩阵,如:
pseudo:
Label."Name: " TextBox()
Label."Password: " TextBox()
知道甚至考虑FlexTable还是有更好的Alternativ是个好主意? 谢谢你的帮助。
答案 0 :(得分:3)
我会传递一个事实,即使用表格进行表单布局不是最好的选择,也不是一个好的做法。
您可以在UiBinder上使用HTMLPanel
,并像在“普通”页面中那样在HTML中执行所有操作,并为小部件添加一些额外的GWT标记:
<g:HTMLPanel>
<div class="formInput">
<g:Label text="First Name - W3C style : ">
<g:TextBox ui:field="firstNameTextBox">
</div>
<table>
<tbody>
<tr>
<td>Last name - table style :</td>
<td><g:TextBox ui:field="lastNameTextBox" /></td>
</tr>
<tr>
<!-- Other form fields -->
</tr>
</tbody>
</table>
</g:HTMLPanel>
答案 1 :(得分:0)
如果你只想要一个表来显示输入表单,我会考虑使用纯HTML小部件,混合GWT小部件,如下所示。
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style>
</ui:style>
<g:HTMLPanel>
<table>
<tr>
<td>Name:</td>
<td>
<g:TextBox ui:field="name"/>
</td>
</tr>
<tr>
<td>Password</td>
<td>
<g:PasswordTextBox ui:field="password"/>
</td>
</tr>
</table>
</g:HTMLPanel>
</ui:UiBinder>
首选FlexTable以显示数据或可编辑数据。因为显示这些类型的信息真的很快。从我所看到的,过度使用小部件会减慢应用程序的速度。