Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带Uibinder或替代品的FlexTable_Java_Google App Engine_Gwt_Uibinder - Fatal编程技术网

Java 带Uibinder或替代品的FlexTable

Java 带Uibinder或替代品的FlexTable,java,google-app-engine,gwt,uibinder,Java,Google App Engine,Gwt,Uibinder,在与uiBinder的合作中使用flextable的最佳方式是什么?我已经知道我必须在initWidget @UiField(provided = true) FlexTable contentTable; 但我只需要一个表,作为输入矩阵,如下所示: pseudo: Label."Name: " TextBox() Label."Password: " TextBox() 知道一个好主意,即使考虑到弹性还是有更好的选择? 感谢您的帮助。我将告诉您,使用表格进行表单布局既不是您的最佳

在与uiBinder的合作中使用flextable的最佳方式是什么?我已经知道我必须在
initWidget

@UiField(provided = true) FlexTable contentTable;
但我只需要一个表,作为输入矩阵,如下所示:

pseudo:

 Label."Name: " TextBox() 
 Label."Password: " TextBox() 
知道一个好主意,即使考虑到弹性还是有更好的选择?
感谢您的帮助。

我将告诉您,使用表格进行表单布局既不是您的最佳选择,也不是一种好的做法

您只需在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>

姓氏-表格样式:

< /代码> 如果您只想要一个表来显示一个输入表单,我会考虑使用纯HTML小部件,将混合GWT小部件作为折叠。< /P>
<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显示数据或可编辑数据。因为它显示这些类型信息的速度非常快。据我所见,过度使用小部件会减慢应用程序的速度。

顺便说一句,您不必“在初始化小部件之前提供并启动它”。。。这仅适用于需要构造函数参数的自定义小部件,而您无法使用UiBinder模板(至少以干净的方式)提供构造函数参数,谢谢。我已经那样做了。我不确定这是不是最好的方法,所以我问了这个问题:)谢谢你的快速回答。