想要实现竖向的tabPanel以及标签样式的自定义该如何实现,网上GWT方面的资料太少,没找到实现方法,求助!!

解决方案 »

  1.   

    官方没提供文档吗?
    建议去官网下 demo
      

  2.   


    官方有提供文档,但是没有找到对于tabPanel进行自定义的接口,猜测是在别的地方进行定义的但是没有这方面提示不知道如何入手
      

  3.   

    /**
     * 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);
          }
        };
      }
      

  4.   

    已得出结论,GWT原生组件无法实现,需要进行自定义,但是在 smartGWT和ext-gwt中存在组件可以实现竖向的标签功能