java - 自动更新 JComboBox 列表?

标签 java swing model-view-controller server

在我正在开发的应用程序中,多个用户可以修改服务器上的一个模型,该模型包含一个对象列表,每次用户对其进行更改时,用户都会获得更新后的模型。 当客户端启动程序时,他可以打开一个 JFrame,其中会出现一个 JComboBox,并且在此 ComboBox 中列出了来自服务器的所有对象。我现在的问题是: 如何使这个 JFrame 上的列表自行更新,这样一来,如果另一个用户从列表中删除了一个对象,则该对象不再显示给正在查看列表的其他用户同一时间?

最佳答案

我认为您要求的是 Observer / Observable Pattern 的完美用例.

让我们以您提供的用例为例。在这种情况下,您的服务器将充当“观察者”,因为他正在积极观察您的所有客户端。您的客户将充当“Observables”。

实际上,您的服务器会向所有客户端注册,以便在发生更改时收到通知。当客户端进行更改时,该客户端将通知所有向其注册的观察者(我们的服务器),然后观察者可以将更改传播给客户端。

我们可以一起研究一些示例代码,但附加的链接通常很好地解释了设计模式。我认为根据您的用例定制对话可能会有所帮助。

关于java - 自动更新 JComboBox 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37466077/

相关文章:

javascript - 解析带有特殊字符的 JSON

javascript - 如何从包含多个对象数组的Json数据中提取多个对象数组?

php - PHP 中的多层......正确的方法?

java - 在用户社交网络中找到前 k 个喜欢

java - 当我尝试 getConnectionInfo 时,程序意外关闭

java - 在更深的嵌套项目上使用 indexOn 的问题

Java JMenuBar : Vertical JSeparator

java - Java中简单的多色文本

java - 在 Windows 和 Linux 中使用 java 将 Pen Drive 中的数据复制到本地位置

java - 删除 JTable 列标识符