java - 树小部件仅显示列表中的一个值 (GWT)

标签 java gwt gxt

我正在开发 GWT 应用程序,并且正在使用 com.google.gwt.user.client.ui.Tree;com.google.gwt.user.client.ui。 TreeItem; 小部件,用于显示我的 RPC 方法中的所有 GwtDomain 对象。每个 GwtDomain 都有一些 GwtActions 值(在大多数情况下是读、写、删除,但并非在所有情况下)。这是我查找所有 GwtDomain 的方法,在他的 onSuccess 方法中,我正在查找该 GwtDomain 的所有 GwtActions:

     GWT_DOMAIN_SERVICE.findAll(new AsyncCallback<List<GwtDomain>>() {

                @Override
                public void onFailure(Throwable caught) {
                    exitMessage = MSGS.dialogAddPermissionErrorDomains(caught.getLocalizedMessage());
                    exitStatus = false;
                    hide();
                }

                @Override
                public void onSuccess(List<GwtDomain> result) {



                    for (final GwtDomain gwtDomain : result) {
                        GWT_DOMAIN_SERVICE.findActionsByDomainName(gwtDomain.name(), new AsyncCallback<List<GwtAction>>() {

                            @Override
                            public void onFailure(Throwable caught) {
                                exitMessage = MSGS.dialogAddPermissionErrorActions(caught.getLocalizedMessage());
                                exitStatus = false;
                                hide();
                            }

                            @Override
                            public void onSuccess(List<GwtAction> result) {

                                for (GwtAction gwtAction : result) {
                                rootCheckBox= new CheckBox();
                                rootCheckBox.setBoxLabel(gwtDomain.toString());
                                    treeItemCheckox = new CheckBox();

                                    rootTreeItem = new TreeItem(rootCheckBox);
                                    treeItem =  new TreeItem(treeItemCheckox);
                                    treeItemCheckox.setBoxLabel(gwtAction.toString());
                                    rootTreeItem.addItem(treeItem);

                                }
                                tree.addItem(rootTreeItem);

   }
                    });

}

但是使用这段代码,我总是只有 GwtAction 中的一个值,而不是所有值(在大多数情况下,每个 treeItem2 应该是 3 个项目)。有人可以帮助我吗?

最佳答案

这很正常。代码 tree.addItem(rootTreeItem); 位于 for 循环之外。 一定是在里面! 问候

关于java - 树小部件仅显示列表中的一个值 (GWT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46172256/

相关文章:

JAVA如何存储mysql登录信息

java - Android: Intent 和组件之间交换数据

java - 在Java单元测试中,使用Mockito,如何模拟调用XML DocumentBuilder,使其不返回FileNotFoundException

java - 异步远程服务没有定义对应的方法

Java 模块化与依赖注入(inject)

gwt - smartGWT真的和它的展示一样慢吗?

java - 创建给定类的实例

css - 如何在 ui Binder 中将 css 设置为元素?

java - 为 tomcat 7 部署设置 gxt 项目

java - GWT 2.0 RC1 和 GXT 2.0.1