GWT使用小部件和事件

时间:2012-10-17 06:46:31

标签: java gwt

我在新应用程序上使用GWT 2.4。我做了一个docklayoutpanel,我在它的西段插入了一个celllist。我需要创建一个事件,每当用户点击页面西侧的celllist元素时,特定小部件将加载到docklayoutpanel的内容。

有什么建议吗?

谢谢

1 个答案:

答案 0 :(得分:0)

以下示例应该是自解释的

// Create a cell to render each value.
TextCell textCell = new TextCell();

// Create a CellList that uses the cell.
CellList<String> cellList = new CellList<String>(textCell);
cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);

// Add a selection model to handle user selection.
final SingleSelectionModel<String> selectionModel = new SingleSelectionModel<String>();
cellList.setSelectionModel(selectionModel);
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
  public void onSelectionChange(SelectionChangeEvent event) {
    String selected = selectionModel.getSelectedObject();
    if (selected != null) {
      Window.alert("You selected: " + selected);
    }
  }
});

您需要更改面板东侧显示的小部件,而不是Window.alert("You selected: " + selected);

这可以通过多种方式完成,其中一种方法是通过将Panel声明为类的字段(不是类的构造函数中的局部变量)或者作为一个方法将Dockpanel公开给Selection Change Event构造函数中的最终局部变量。

另一种方法是通过事件处理来完成此操作。关于MVP设计模式的eventBus方法是执行所有这些here的正确方法,以获取更多信息。