gpt4 book ai didi

java - 模型可以刷新 View 吗?

转载 作者:行者123 更新时间:2023-11-29 06:18:32 25 4
gpt4 key购买 nike

我有一个使用 SWT 的 MVCish 设计。我有一个实现整个 GUI(按钮和 Action 监听器)的类,它有一个 Shop 对象,它有一个项目列表。有时,使用 RMI(学校分配),列表正在更新(如果杂志中有新内容,它会告诉服务器并且服务器将新列表传播到所有商店)并且这一切都很酷。问题是我不知道如何让 GUI 在不按下按钮的情况下重新绘制新列表。我想做的事:

1) 杂志里有新东西
2) 将新列表发送到服务器
3)服务器将列表发送给所有商店
4) 每个商店更新其列表
5) 每个商店都以某种方式告诉 GUI 重新绘制表示列表的 JTree。

我已经完成了第 1-4 点。是否有可能实现5)?我故意尝试将模型和 Controller 分开(因为我们必须制作一个终端和一个 GUI 界面)但现在我看到商店获得了新列表并且它甚至不知道 GUI 的存在(只是就像一个普通的 MVC)。
现在我有一个“刷新”按钮,它从 Shop 对象中获取列表并更新 JTree 模型,但根据我的老师告诉我的,他希望它是自动的。我可以通过在一个类中同时编写商店和图形用户界面来做到这一点,但这有点糟糕。

最佳答案

您可以让您的 View 成为模型的观察者,并以这种方式接收通知。或者您可以安排一个周期性任务来执行刷新操作。

从 UI 的角度来看,我不希望 View 自动更新——如果我正在向下钻取某些东西并且树突然被重置,我会很恼火。我认为显示诸如“目录更新可用,按‘刷新’以查看新项目”之类的消息(有点像 SO“新答案”消息)或可能只是突出显示刷新按钮(更改其背景颜色或其他内容)要友好得多).

关于java - 模型可以刷新 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4126948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com