【问题标题】:unexplained spacing in horizontal panel in GWTGWT中水平面板中无法解释的间距
【发布时间】:2011-01-05 07:20:03
【问题描述】:

我正在向水平面板添加小部件,并且我希望它们都在左角的另一个旁边。

即使我设置了spacing=0 和alignment= left,小部件之间仍然有空间。它们均匀分布在面板中。

请在此处查看小部件 C'tor 的代码以及添加新选项卡的功能(切换按钮) tabsPanel 是一个水平面板,你可以看到它根据语言环境左/右对齐

任何建议将不胜感激 谢谢....

public TabsWidgetManager(int width, int height, int tabs_shift_direction){ 
    DecoratorPanel decorContent = new DecoratorPanel();
    DecoratorPanel decorTitle = new DecoratorPanel();
    widgetPanel.setSize(Integer.toString(width), Integer.toString(height));

    tabsPanel.setSize(Integer.toString(UIConst.USER_CONTENT_WIDTH), Integer.toString(UIConst.TW_DEFAULT_TAB_HEIGHT));
    tabsPanel.setSpacing(0);

    if (tabs_shift_direction==1)
        tabsPanel.setHorizontalAlignment(HorizontalPanel.ALIGN_LEFT);
    else
        tabsPanel.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT);
    decorTitle.add(tabsPanel);

    contentPanel.setSize(Integer.toString(UIConst.USER_CONTENT_WIDTH), Integer.toString(UIConst.USER_CONTENT_MINUS_TABS_HEIGHT));
    decorContent.add(contentPanel);
    widgetPanel.add(decorTitle, 0, 0);

    widgetPanel.add(decorContent, 0, UIConst.TW_DEFAULT_TAB_HEIGHT+15);

    initWidget(widgetPanel);
}

public void addTab(String title, Widget widget){
    widget.setVisible(false);
    ToggleButton tab = new ToggleButton(title);
    tabsList.add(tab);
    tab.setSize(Integer.toString(UIConst.TW_TAB_DEFAULT_WIDTH), Integer.toString(UIConst.TW_TAB_DEFAULT_HEIGHT));
    tab.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            handleTabClick((ToggleButton)event.getSource());

        }
    });

    //adding to the map
    tabToWidget.put(tab, widget);

    // adding to the tabs bar 
    tabsPanel.add(tab);
    //adding to the content
    contentPanel.add(widget);
}

【问题讨论】:

  • 您能否发布一些示例代码。您将此水平面板添加到哪个面板?水平面板中添加的小部件之间是否有间距?还是整个水平面板的左侧有空间?
  • 查看生成的 HTML(在 FF 中使用 FireBug)并检查样式。

标签: java gwt user-interface panel


【解决方案1】:

我假设 contentPanel 是您的 Horizo​​ntalPanel。 Horizo​​ntalPanel 将生成一个 html 表格。您正在设置面板的宽度。如果宽度大于子小部件的所有宽度的总和,则表格将均匀分布小部件。删除setWidth() 调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    相关资源
    最近更新 更多