为什么可以';我不能在GWTP的UiBinder中清除FlexTable吗?

为什么可以';我不能在GWTP的UiBinder中清除FlexTable吗?,gwt,gwtp,flextable,Gwt,Gwtp,Flextable,好的,我正在使用GWTP。我使用eClipse创建TestPresenter 在TestView.ui.xml中,我有 <g:HTMLPanel> <g:FlexTable ui:field="messageFlexTable" borderWidth="1" /> </g:HTMLPanel> 但是,当单击“仅清除flextable中的按钮和标签”时,flextable中的所有文本和边框仍然存在 但是,如果我通过codeFlexTable ft=n

好的,我正在使用GWTP。我使用eClipse创建TestPresenter

在TestView.ui.xml中,我有

<g:HTMLPanel>
    <g:FlexTable ui:field="messageFlexTable" borderWidth="1" /> </g:HTMLPanel>
但是,当单击“仅清除flextable中的按钮和标签”时,flextable中的所有文本和边框仍然存在

但是,如果我通过code
FlexTable ft=new FlexTable()创建FlexTable那我就没问题了


怎么了?这是GWTP中的一个bug吗?

FlexTable扩展了HTMLTable。根据javadoc for HTMLTable方法clear()

从此表中删除所有小部件,但不删除单元格的其他HTML或文本内容

如果确实需要从中删除所有表行,请改用
removeAllRows()
。看到和

<强>注:< /强>为了更好的性能,如果您不需要灵活的动态尺寸或COLSPAN/ROWSPAN的任何特定特性,也可以考虑使用。

Button clearButton=new Button("Clear");
    getView().getComposeMessageHTMLPanel().add(clearButton);

    clearButton.addClickHandler(new ClickHandler(){

        @Override
        public void onClick(ClickEvent event) {
            // TODO Auto-generated method stub
            getView().getMessageFlexTable().clear();
        }

    });