数据库更改时所有用户的Java更新面板

数据库更改时所有用户的Java更新面板,java,swing,postgresql,server,Java,Swing,Postgresql,Server,所以我有一个在多台计算机上运行的程序。程序连接到一台服务器,从中获取所有数据。有一个JPanel,它列出了我的postgresql数据库表中的名称。到目前为止,刷新面板的唯一方法是按下按钮。我希望面板在数据库发生更改时自行更新,这样,如果一个用户添加了名称,其他用户将能够立即看到更改。有没有一种方法可以向所有连接到服务器的用户广播一条消息,以便他们的面板可以刷新?一旦你想这样做,你就进入了多线程和各种havock的世界。您的问题实际上与数据库无关,您只想向所有使用应用程序的其他人发送一条消息,以

所以我有一个在多台计算机上运行的程序。程序连接到一台服务器,从中获取所有数据。有一个JPanel,它列出了我的postgresql数据库表中的名称。到目前为止,刷新面板的唯一方法是按下按钮。我希望面板在数据库发生更改时自行更新,这样,如果一个用户添加了名称,其他用户将能够立即看到更改。有没有一种方法可以向所有连接到服务器的用户广播一条消息,以便他们的面板可以刷新?

一旦你想这样做,你就进入了多线程和各种havock的世界。您的问题实际上与数据库无关,您只想向所有使用应用程序的其他人发送一条消息,以便在他们需要时更新组件,并将您的关注点分开。现在你需要问一些问题,比如用户都在同一个网络上吗?然后你就可以使用一个简单的java聊天客户端了,有很多这样的客户端。但是想想看,你真的需要这个要求吗?你不能每10秒更新一次表吗?还是每5秒?实现的难度差别很大,但我想说的是结果非常相似,甚至用户都看不到。但是,也许您只是想学习一些东西,那么您可能认为应该在sql中添加另一个表,其中一个条目记录用户表的更新时间,您可以检查该条目,它将比另一个条目更优化。但这被认为是坏习惯,你在乎吗?根据我在网上看到的内容,sql语句同样可以检查表最后一次编辑的时间,但是如果我们总是应用最佳实践,应用程序仍然会越界

也许你的更新按钮看起来并没有那么糟糕


但是用户抱怨这类废话,你不能向每个用户解释这些东西。我的建议是有一个可配置的更新,每几秒钟运行一次。不过,您必须查找有关多线程的内容,但不应该太可怕。

也许是什么?@MadProgrammer是的,倾听并通知是解决方法。但是,请不要链接到旧文档版本。链接到当前版本,或者更好地在URL@CraigRinger请随时提供一个更新的链接,这只是我在谷歌搜索时第一次点击的链接search@MadProgrammer克雷格,谢谢,这正是我需要的