2011-04-19 158 views
0

我使用边界布局视口有我的应用程序中添加视口。如何手风琴布局

现在我需要这整个口中添加到手风琴布局,我试图通过创建一个手风琴面板做到这一点,然后创建了布局FitLayout其他内容面板。新增视口在这个新创建的面板,然后最后加入这个小组,我的主要手风琴面板

相应的代码是:

viewport = new Viewport(); 
    viewport.setLayout(new BorderLayout()); 
    menuBar = new ArmMenuBar(); 

    createNorth(); 
    createWest(); 
    createEast(); 
    createCenter(); 
    createSouth(); 

    //Added for Accordion Layout. 
    ContentPanel panel = new ContentPanel(); 
    panel.setHeading("AccordionLayout"); 
    panel.setBodyBorder(false); 
    panel.setLayout(new AccordionLayout()); 
    ContentPanel cp = new ContentPanel(); 
    cp.setAnimCollapse(false); 
    cp.setHeading("Portfolios Tab"); 
    cp.setLayout(new FitLayout()); 

    // registry serves as a global context 
    Registry.register(ClientConstant.VIEWPORT, viewport); 
    Registry.register(ClientConstant.ROOT_WEST_PANEL, west); 
    Registry.register(ClientConstant.ROOT_CENTER_PANEL, center); 
    Registry.register(ClientConstant.ROOT_EAST_PANEL, east); 
    // Registry.register(ClientConstant.ROOT_SOUTH_PANEL, south); 
    RootPanel.get().add(viewport); 
    KeyNav<ComponentEvent> key = new KeyNav<ComponentEvent>(viewport); 
    key.addKeyNavListener(new KeyNavListener() { 

     @Override 
     public void onEnter(ComponentEvent ce) { 
      System.out.println(""); 
     } 
    }); 
    //Added for Accordion Layout. 
    cp.add(viewport); 
    panel.add(cp); 

但我从给定直线

下获得类铸件的错误
((BorderLayout) viewport.getLayout()).hide(LayoutRegion.WEST); 

这样可以硬骨素帮我在这。

回答

1

不正确添加到视窗任何构件......你必须在一个页面上使用一个视口。