0

我正在使用 GWT 2.4 开发一个新应用程序。我制作了一个docklayoutpanel,并在它的西部插入了一个单元格列表。我需要创建一个事件,每次用户单击页面西侧的单元列表元素时,都会在停靠布局面板的内容中加载特定的小部件。

有什么建议么?

谢谢

4

1 回答 1

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);您需要更改面板东侧显示的小部件。

这可以通过多种方式完成,其中一种是通过将面板声明为类的字段(不是类的构造函数中的局部变量)或最终的局部变量,将 Dockpanel 暴露给选择更改事件在构造函数中。

另一种方法是通过事件处理来做到这一点。MVP 设计模式上的 eventBus 方法是完成所有这些的正确方法,请参阅此处以获取更多信息。

于 2012-10-18T07:54:27.800 回答