3

在我的应用程序中,我有一个打开的菜单 SelectionDialog,此对话框用于选择一个对象。选择此对象后,我必须在视图中显示它。

更新我的观点的最佳方式是什么?

目前,我myview.update(object)在对话框关闭后调用(在菜单的处理程序中)。但我认为这个解决方案设计得不好。

我已阅读有关更新我的模型并通知我的视图,但我的模型没有改变(没有数据改变,我只显示不同的 Data )。

有人对良好的设计解决方案有一些想法吗?

4

2 回答 2

1
  1. 定义模型监听器(dataPopulated(Event e))
  2. 使您的视图实现模型侦听器并将其注册到模型中。
  3. 定义一个模型类,该类可以包含要在视图中填充的对象
  4. 当调用 Model.setInput(Object input) 时,在所有注册的模型侦听器上触发 dataPopulated() 事件。

激活视图后,上述步骤可以正常工作。您需要考虑以下情况,例如视图是否已停用或不可见(确保刷新视图可见,否则刷新视图虽然不可见,但您将有不必要的开销)

于 2012-10-23T15:00:28.543 回答
0

尝试在视图中添加选择侦听器并在对话框中注册此选择。

在侦听器操作中,添加代码以显示所选对象。

于 2012-10-23T12:08:11.533 回答