布局更新 GWT

Posted

技术标签:

【中文标题】布局更新 GWT【英文标题】:Layout update GWT 【发布时间】:2014-09-24 20:50:18 【问题描述】:

我使用 RPC 调用连接到 mysql 并从那里获取文本数据。 我的页面被定义为拆分布局。 我的问题是我不知道如何用不同的文本更新主布局。 如果我使用 clear() 方法,它将删除所有布局! "p" 是 splitLayout。

RPC:

                    rpcService.getChapterTxt(selectedBook,bookChapters[selectedBook], 
                    new AsyncCallback<List<BibleTxt>>()
                        public void onFailure(Throwable caught) 

                            
                          Window.alert("Failed getting Chapter");        
                            

                        public void onSuccess(List<BibleTxt> result) 
                        
                            int i = 0 ;
                            String verseText ="";


                            //Label verseLabel = new Label();
                            PPanel chapterPar = new PPanel();
                            html page= new HTML(verseText);
                            for(i=0;i<result.size();i++)
                                

                                    verseText = result.get(i).getVerseText();
                                    //verseLabel.setText(verseText);
                                            page.setText(page.getText() + verseText);

                                 
                            chapterPar.add(page);  
                            //p.clear();

                            p.add(chapterPar); // adds the main layout

                        

                    );

【问题讨论】:

【参考方案1】:

为什么您不重复使用更改其内容文本的文本组件,而不是不断地将元素分离/附加到小部件层次结构。这种方式应该会表现得更好并且导致的问题更少。

【讨论】:

那么在 onSuccsess() 之外声明包含文本的 html 对象并在每次调用时更新它? 正是我的意思 没有帮助...我不知道该怎么办!为什么要更改布局内容这么难??!! 有什么难的?从内部函数中声明一个java中的var? 我不明白布局是如何工作的... p.add(chapterPar) 不应该在 RPC 调用中,以更改主布局的内容我按照你所说的声明了一次 HTML只是改变了它的内容并把 p.add(...) 拿出来了!谢谢

以上是关于布局更新 GWT的主要内容,如果未能解决你的问题,请参考以下文章

GWT RootPanel 通过 ID 获取

GWT - 标签没有正确包装文本?

GWT 多个 html 页面和导航

GWT 中具有人性化 URL 的多个“页面”

将外部资源添加到 GWT 开发模式服务器 (Jetty)

如何让 UIStackView 更新其布局?