EntryPoint 클래스에서 사용자 정의 빌드 westPanel을로드합니다. 이 WestPanel에서 EntryPoint 클래스에있는 DockLayoutPanel의 중심을 대체하고 싶습니다.GWT에서 DockLayoutPanel의 중앙 패널을 대체하는 방법은 무엇입니까?
public class MainEntryPoint implements EntryPoint {
private VerticalPanel mainPanel = new VerticalPanel();
private DockLayoutPanel dockLayoutPanel = new DockLayoutPanel(Unit.EM);
private NorthMenu northMenu = new NorthMenu();
private VerticalPanel mainPanel = new VerticalPanel();
//other panels
@Override
public void onModuleLoad() {
dockLayoutPanel.addNorth(northMenu, 40);
dockLayoutPanel.add(mainPanel);
//add other panels
RootLayoutPanel panel = RootLayoutPanel.get();
panel.add(dockLayoutPanel);
}
}
WestPanel가 MyOtherPanel와 DockLayout의 mainPanel를 교체해야합니다 :
여기 내의 EntryPoint 클래스입니다
public class WestMenu extends Composite {
private StackLayoutPanel stackLayoutPanel = new StackLayoutPanel(Unit.EM);
public WestMenu(){
Tree configuration = new Tree();
configuration.addSelectionHandler(new SelectionHandler(){
@Override
public void onSelection(SelectionEvent event) {
MyOtherPanel builderPanel = new MyOtherPanel();
RootLayoutPanel panel = RootLayoutPanel.get();
DockLayoutPanel dlp = (DockLayoutPanel)panel.getWidget(0);
dlp.add(builderPanel);
}
});
//other init configurations
initWidget(stackLayoutPanel);
}
}
나는 내가 그것을 대체 할 수 없다는 예외를 점점 계속. DockLayoutPanel의 가운데 패널을 대체/변경하는 가장 좋은 방법은 무엇입니까?
감사합니다.
dlp.remove(currentCenterPanel);
그러나 당신이 만드는 항상 중심 위젯을 추적하고 필요에 따라 즉, 매우 개발자 친화적 아니다 :
덕분에 ... 그 많은 도움 :) 내 디자인은 내가 기다리지 않았으므로 좋지 않았지만 나중에 처리 할 수 있습니다. – user981916