GWT tabPanel布局问题

ahaso 2013-10-29 11:08:04
想要实现竖向的tabPanel以及标签样式的自定义该如何实现,网上GWT方面的资料太少,没找到实现方法,求助!!
...全文
222 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahaso 2013-10-30
  • 打赏
  • 举报
回复
已得出结论,GWT原生组件无法实现,需要进行自定义,但是在 smartGWT和ext-gwt中存在组件可以实现竖向的标签功能
Defonds 2013-10-29
  • 打赏
  • 举报
回复
官方没提供文档吗? 建议去官网下 demo
我的波塞冬 2013-10-29
  • 打赏
  • 举报
回复
/**
 * This is a demonstration of all stand alone widgets in the cobogw framework.
 * Each widget demo is accessible via the history token.
 */
public class WidgetsDemo implements EntryPoint {

  private VerticalTabPanel panel;

  private HashMap tabMap = new HashMap();
  private HashMap mapTab = new HashMap();

  /**
   * This is the entry point method.
   */
  public void onModuleLoad() {
    panel = new VerticalTabPanel();
    RootPanel.get("content").add(panel);
    panel.add(RoundedPanelDemo.getLazy(), rt("RoundedPanel"));
    panel.add(ButtonDemo.getLazy(), rt("Button"));
    panel.add(ButtonConfigurator.getLazy(), rt("Button CSS generator", "ButtonConfigurator"));
    panel.add(RatingDemo.getLazy(), rt("Rating"));
    panel.add(VerticalTabPanelDemo.getLazy(), rt("VerticalTabPanel"));
    panel.add(MiscDemo.getLazy(), rt("Misc"));
    panel.addSelectionHandler(new SelectionHandler() {
      public void onSelection(SelectionEvent event) {
        History.newItem(mapTab.get(event.getSelectedItem()), false);
      }
    });
    History.addValueChangeHandler(new ValueChangeHandler() {
      public void onValueChange(ValueChangeEvent event) {
        onHistoryChange(event.getValue());
      }
    });
    String initToken = History.getToken();

    if (initToken.length() > 0) {
      onHistoryChange(initToken);
    } else {
      onHistoryChange("RoundedPanel");
    }
  }
  private Widget rt(String tab) {
    return rt(tab, tab);
  }

  private Widget rt(String tab, String token) {
    tabMap.put(token, panel.getWidgetCount());
    mapTab.put(panel.getWidgetCount(), token);
    return new RoundedPanel(new Label(tab), RoundedPanel.LEFT); 
  }

  private void onHistoryChange(String historyToken) {
    if ("RatingWidget".equals(historyToken) || "Rating".equals(historyToken)) {
      panel.selectTab(tabMap.get("Rating"));
    } else if ("Misc".equals(historyToken) || "Tags".equals(historyToken)) {
      panel.selectTab(tabMap.get("Misc"));
    } else if ("Button".equals(historyToken)) {
      panel.selectTab(tabMap.get("Button"));
    } else if ("ButtonConfigurator".equals(historyToken)) {
      panel.selectTab(tabMap.get("ButtonConfigurator"));
    } else if ("VerticalTabPanel".equals(historyToken)) {
      panel.selectTab(tabMap.get("VerticalTabPanel"));
    } else {
      panel.selectTab(tabMap.get("RoundedPanel"));
    }
  }
}

  public static LazyPanel getLazy() {
    return new LazyPanel() {
      public Widget createWidget() {
        final Widget w = new RatingDemo();
        w.setStyleName("demo-TP");
        return new RoundedPanel(w);
      }
    };
  }
ahaso 2013-10-29
  • 打赏
  • 举报
回复
自顶一下= =!
ahaso 2013-10-29
  • 打赏
  • 举报
回复
引用 1 楼 defonds 的回复:
官方没提供文档吗? 建议去官网下 demo
官方有提供文档,但是没有找到对于tabPanel进行自定义的接口,猜测是在别的地方进行定义的但是没有这方面提示不知道如何入手

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧