public class DesktopActivity extends AbstractActivity { . . . public DesktopActivity() { super("Desktop", null); logger.info("create new DesktopActivity"); AppController.getINSTANCE().getClientFactory().getEventBus() .addHandler(StartActivityDisplay.TYPE, new StartActivityDisplayEventHandler() { @Override public void onEvent(StartActivityDisplay event) { if (event.getWidget() != null) { DesktopActivity.getContentPanel().clear(); // add view to center .... DesktopActivity.getContentPanel().setWidget(event.getWidget()); } } }); } private static void initView() { Viewport p = AppController.getINSTANCE().getClientFactory().getViewport(); desktopView = new DesktopView(); p.add(desktopView.asWidget()); p.forceLayout(); } public static ContentPanel getContentPanel() { if (desktopView == null) { initView(); } return desktopView.getContentPanel(); } . . . . }