I am having my application using Border layout for Viewport.
Now i need to add this whole Viewport into Accordion Layout , i am trying to do this by creating a Accordion panel and then created another content panel with layout as FitLayout. Added Viewport in this newly created panel and then finally added this panel to my main accordion panel
The corresponding code is :
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);
But i am getting errors of class cast from the under given line
((BorderLayout) viewport.getLayout()).hide(LayoutRegion.WEST);
So can anbody help me in this.
Not properly add Viewport into any widget ... you must use one Viewport on one page.
精彩评论