具有子项的GWT TreeItems - 在扩展项上重叠

时间:2014-03-13 11:07:58

标签: java gwt web-applications tree

我一直试图通过互联网进行搜索,但不幸的是 - 我找不到任何答案。

我的问题是: 我使用GWT创建WebApp。只是清理GWT,没有任何特殊的小部件等。我的应用程序有一个简单的布局(在北面 - 一个带按钮的栏,在西边 - 一棵树,在中心 - 一个tabpanel)。问题是我想为树中的项目创建子项。树可以正常使用(我的意思是项目正确添加,项目左侧会显示' +'标记,其中包含子项目。)

唯一的问题是,当我在调试/运行时运行应用程序或部署到appengine时 - 使用subitem扩展treeitem会导致元素重叠(如s.shot所示)。

http://s17.postimg.org/jpk9yzq5r/gwt_tree.png

这是我的带有项目的树的代码:

    final TreeItem trtmNewItem = new TreeItem("Rejestr kontrahentów");

    trtmNewItem.setHeight("30px");
    trtmNewItem.setState(true);
    /* TreeItem treeItem = trtmNewItem.addItem("Dodaj kontrahenta");
    treeItem.setHeight("30px"); */
    trtmNewItem.addItem("Dodaj kontrahenta");


    final TreeItem trtmNewItem_1 = new TreeItem("Faktury przychodzące");
    trtmNewItem_1.setText("Faktury przychodzące");

    trtmNewItem_1.setHeight("30px");
    trtmNewItem_1.setState(true);

    final TreeItem trtmNewItem_2 = new TreeItem("Faktury wychodzące");

    trtmNewItem_2.setHeight("30px");
    trtmNewItem_2.setState(true);

    final TreeItem trtmNewItem_3 = new TreeItem("Umowy");

    trtmNewItem_3.setHeight("30px");
    trtmNewItem_3.setState(true);

    final TreeItem trtmNewItem_4 = new TreeItem("Kalendarz");

    trtmNewItem_4.setHeight("30px");
    trtmNewItem_4.setState(true);

    Tree tree = new Tree();
    tree.setAnimationEnabled(false);
    dockLayoutPanel_3.add(tree);
    tree.addItem(trtmNewItem_5);
    tree.addItem(trtmNewItem);
    tree.addItem(trtmNewItem_1);
    tree.addItem(trtmNewItem_2);
    tree.addItem(trtmNewItem_3);
    tree.addItem(trtmNewItem_4);

这真的很烦人,我不想使用任何其他小部件库(也许有一天,当这个应用程序运行良好且稳定时......)。

提前谢谢! REGS 汤姆

1 个答案:

答案 0 :(得分:0)

不要在树项目上设置高度。使用CSS通过在树项目上设置树高或上边距(更好,如果文本可以包裹在树项目中)中的行高来设置树的样式。

例如,您可以将其添加到CSS文件中:

.gwt-Tree .gwt-TreeItem {
    margin-top: 6px !important;
}