GWT:切换到g:LayoutPanel和g:layer禁用所有输入<table> </table>

时间:2013-08-16 15:37:53

标签: gwt uibinder

我正在使用uiBinder在gwt项目中布局我的视图,并且我一直在使用常规表来处理视图的基本布局。它变得有点混乱和静态,所以我正在研究在layoutPanel中使用图层。这似乎是一种更好的方法。所以在我有这个结构之前: docklayoutpanel   中央     tablayoutpanel       标签         表           //表格行和具有各种内容的单元格

现在,带有行和列的表已被替换为带有图层的layoutPanel。起初它似乎工作正常,看起来几乎完全相同(只是一些边距和填充关闭),但后来我注意到图层内的所有内容都被完全禁用。不仅是按钮和textFields,而且我甚至无法选择静态文本。这就像有一个看不见的玻璃窗格。造成这种情况的原因是什么?如何解决?

也投入一些代码。这就是之前的开头(工作正常):

<g:DockLayoutPanel unit="EM" height="100%">
        <g:center>
            <g:TabLayoutPanel barUnit='EM' barHeight='3'
                ui:field="tabs">
                <!-- TABB 1 -->
                <g:tab>
                    <g:header styleName="viewSubtitleText">
                        <!-- Flikrubrik -->
                        View Person
                    </g:header>
                    <g:LayoutPanel>
                        <g:layer>
                            <g:ScrollPanel>
                                    <g:HTMLPanel>
                                        <table>
                                            <tr>
                                                <td valign="top">
                                                    <g:HTMLPanel styleName="roundedBox">
                                                        <g:HTMLPanel styleName="viewSubtitleText">People</g:HTMLPanel>
                                                        <table>
                                                            <tr>
                                                                <td>
                                                                    <table>
                                                                        <tr>
                                                                            <td>
                                                                                <g:HTML>Search </g:HTML>
                                                                            </td>
                                                                            <td>
                                                                                <j:DemiaSuggestBox ui:field="sgtPerson"></j:DemiaSuggestBox>
                                                                            </td>

它被替换为:

<g:DockLayoutPanel unit="EM" height="100%">
    <g:center>
        <g:TabLayoutPanel barUnit='EM' barHeight='3'
            ui:field="tabs">
            <!-- TABB 1 -->
            <g:tab>
                <g:header styleName="viewSubtitleText">
                    <!-- Flikrubrik -->
                    View Person
                </g:header>
                <g:LayoutPanel>
                    <g:layer styleName="roundedBox">
                        <g:HTMLPanel>
                            <g:HTMLPanel styleName="viewSubtitleText">People</g:HTMLPanel>
                            <table>
                                <tr>
                                    <td>
                                        <table>
                                            <tr>
                                                <td>
                                                    <g:HTML>Search </g:HTML>
                                                </td>
                                                <td>
                                                    <j:DemiaSuggestBox ui:field="sgtPerson"></j:DemiaSuggestBox>
                                                </td>

1 个答案:

答案 0 :(得分:0)

事实证明,我忘了指定图层的尺寸,例如:

<g:layer left="1em" top="1em" bottom="1em" width="42em">