我有一个对象PanelDataHandler就像
@Singleton
public class PanelDataHandler {
private List<Panel> panelDetails;
private Integer nextId;
@Inject
public PanelDataHandler(){
panelDetails = new ArrayList<Panel>();
nextId = 0;
}
...
}
现在我的代码中有两个具有不同处理程序的按钮。on 按钮用于保存已保存面板的详细信息,另一个用于显示输入的面板列表。
我浏览了很多帖子,但 stackoverflow 问题无法找到解决方案。
我想在一个处理程序中创建一个实例PanelDataHandler pdh
并将面板添加到其中,并在另一个处理程序中获取添加的面板列表。
public class PanelSaveEventHandler implements EventHandler {
public void savePanelsList() {
pdh.addPanels();
}
}
获取列表
public class PanelClickEventHandler implements EventHandler{
public void displayPanelGrid() {
MyPagingDataGrid<Panel> grid = new MyPagingDataGrid<Panel>();
grid.setHeight("500px");
grid.setDataList(pdh.getPanelList());
RootPanel.get().add(grid);
}
}
我的 Ginjector 界面
@GinModules({ DispatchAsyncModule.class, ClientModule.class })
public interface ClientGinjector extends Ginjector {
...
...
AsyncProvider<PanelDataHandler> getPanelDataHandler();
}
我的入口点是
public class PanelEstimator implements EntryPoint {
private final ClientGinjector ginjector = GWT.create(ClientGinjector.class);
@Override
public void onModuleLoad() {
// This is required for Gwt-Platform proxy's generator
DelayedBindRegistry.bind(ginjector);
ginjector.getPlaceManager().revealCurrentPlace();
System.out.println(ginjector.getPanelDataHandler());
}
}
我可以在哪里以及如何创建实例PanelDataHandler
以便它可以像上面一样使用
提前感谢您的答案