Java GWT场所和活动-获取重复的UI

Java GWT场所和活动-获取重复的UI,java,gwt,Java,Gwt,我是GWT的新手,尝试实施活动和场所。我面临着用户界面的问题。我不能发布图片,因为我是Stackoverflow的新手,没有10个声望点,但我在左边看到了两个面板。我还附上了启动程序代码和UI活页夹代码 public class SmartEBRM implements EntryPoint { //private Place defaultPlace = new SmartEBRMViewPlace("World!"); @SuppressWarnings("deprecation") @O

我是GWT的新手,尝试实施活动和场所。我面临着用户界面的问题。我不能发布图片,因为我是Stackoverflow的新手,没有10个声望点,但我在左边看到了两个面板。我还附上了启动程序代码和UI活页夹代码

public class SmartEBRM implements EntryPoint {
//private Place defaultPlace = new SmartEBRMViewPlace("World!");

@SuppressWarnings("deprecation")
@Override
public void onModuleLoad() {
    // TODO Auto-generated method stub

    ClientFactory clientFactory = GWT.create(ClientFactory.class);
    EventBus eventBus = clientFactory.getEventBus();
    PlaceController placeController = clientFactory.getPlaceController();

    // Start ActivityManager for the main widget with our ActivityMapper
    ActivityMapper activityMapper = new AppActivityMapper(clientFactory);
    ActivityManager activityManager = new ActivityManager(activityMapper, eventBus);
    SmartEBRMViewImpl smartViewImpl = new SmartEBRMViewImpl();
    activityManager.setDisplay (smartViewImpl.getHTMLPannel());


    // Start PlaceHistoryHandler with our PlaceHistoryMapper
    AppPlaceHistoryMapper historyMapper= GWT.create(AppPlaceHistoryMapper.class);
    PlaceHistoryHandler historyHandler = new PlaceHistoryHandler(historyMapper);
    SmartEBRMViewPlace smartViewPlace = new SmartEBRMViewPlace();
    historyHandler.register(placeController, eventBus, smartViewPlace);
    historyHandler.handleCurrentHistory();

    RootPanel.get().add(smartViewImpl);
}
}

公共类SMARTEBRMVIEWMPL扩展了组合实现SmartEBRMView{
私有静态智能BRMVIEWIMPluibinder uiBinder=GWT
.create(smarterbrmviewimpluibinder.class);
@UiField DockLayoutPanel DockLayoutPanel;
@UiField StackPanel StackPanel;
@UiField按钮企业视图;
@UiField按钮测试组件;
@UiField SimplePanel中心面板;
私人演讲者-听众;
智能BRMVIEWIMPluibinder扩展接口
UiBinder{
}
公共智能brmviewimpl(){
initWidget(uiBinder.createAndBindUi(this));
}
公共智能BRMVIEWIMPL(字符串名){
initWidget(uiBinder.createAndBindUi(this));
}
@凌驾
公共void setPresenter(Presenter侦听器){
//TODO自动生成的方法存根
this.listener=listener;
}
公共SimplePanel GetHtmlPanel(){
返回中心面板;
}
@UiHandler(“企业视图”)
单击(单击事件e)清除按钮上的公共无效
{
goTo(新企业InvoiceCompareViewPlace());
}
}

不应将视图直接添加到根面板。相反,您应该添加appWidget:

activityManager.setDisplay (appWidget);
RootPanel.get().add(appWidget);

当您从一个位置导航到下一个位置时,ActivityManager将添加和隐藏视图。

为什么要禁止显示“不推荐”?您是否使用旧版本的EventBus?谢谢Andrei。这就是我现在所做的。RootPanel.get().add(smartViewImpl.GetHtmlPanel());但我想让我的菜单每页都保持不变。现在,当我点击按钮时,它会将我导航到新页面。我想这样做,但在每一页上保持我的左菜单不变。我想了解activityManager.setDisplay(smartViewImpl.getHtmlPanel())和;和RootPanel.get().add(smartViewImpl.GetHtmlPanel());。我不知道他们在做什么。有两个选项:创建一个代表菜单的小部件,并将这个小部件添加到每个视图中。或者,将应用程序分为两部分:菜单部分和内容部分,并为每一部分分别设置一个ActivityManager。您可以在这里阅读有关此解决方案的更多信息:谢谢Andrei。我想我明白了:)(+1)
activityManager.setDisplay (appWidget);
RootPanel.get().add(appWidget);