我正在使用 GWT 2.4 开发一个新应用程序。我制作了一个docklayoutpanel,并在它的西部插入了一个单元格列表。我需要创建一个事件,每次用户单击页面西侧的单元列表元素时,都会在停靠布局面板的内容中加载特定的小部件。
有什么建议么?
谢谢
下面的例子应该是不言自明的
// 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 方法是完成所有这些的正确方法,请参阅此处以获取更多信息。