在我正在开发的应用程序中,多个用户可以修改服务器上的一个模型,该模型包含一个对象列表,每次用户对其进行更改时,用户都会获得更新后的模型。 当客户端启动程序时,他可以打开一个 JFrame,其中会出现一个 JComboBox,并且在此 ComboBox 中列出了来自服务器的所有对象。我现在的问题是: 如何使这个 JFrame 上的列表自行更新,这样一来,如果另一个用户从列表中删除了一个对象,则该对象不再显示给正在查看列表的其他用户同一时间?
最佳答案
我认为您要求的是 Observer / Observable Pattern 的完美用例.
让我们以您提供的用例为例。在这种情况下,您的服务器将充当“观察者”,因为他正在积极观察您的所有客户端。您的客户将充当“Observables”。
实际上,您的服务器会向所有客户端注册,以便在发生更改时收到通知。当客户端进行更改时,该客户端将通知所有向其注册的观察者(我们的服务器),然后观察者可以将更改传播给客户端。
我们可以一起研究一些示例代码,但附加的链接通常很好地解释了设计模式。我认为根据您的用例定制对话可能会有所帮助。
关于java - 自动更新 JComboBox 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37466077/