在存储文件中进行更新后,如何在java中自动刷新gui屏幕?

在存储文件中进行更新后,如何在java中自动刷新gui屏幕?,java,eclipse,swing,user-interface,refresh,Java,Eclipse,Swing,User Interface,Refresh,我有一个JavaSwing应用程序,它从.text文件中读取其组件的值。我正在尝试更新它的一个值并将其存储在.text文件中,然后可能还需要在GUI屏幕中进行刷新。文件中的值已修改,但GUI无法在不重新启动的情况下检测到更改。我已经使用计时器完成了repaint()、re-validate()。有人能具体说明我能做什么吗?提前感谢。如果文件发生更改,您需要查看文件并触发事件。此事件必须设置将强制组件自动刷新的组件值。解决此问题的一个好方法是将所有GUI组件存储在ArrayList或其他您可能喜欢

我有一个JavaSwing应用程序,它从.text文件中读取其组件的值。我正在尝试更新它的一个值并将其存储在.text文件中,然后可能还需要在GUI屏幕中进行刷新。文件中的值已修改,但GUI无法在不重新启动的情况下检测到更改。我已经使用计时器完成了repaint()、re-validate()。有人能具体说明我能做什么吗?提前感谢。

如果文件发生更改,您需要查看文件并触发事件。此事件必须设置将强制组件自动刷新的组件值。

解决此问题的一个好方法是将所有GUI组件存储在ArrayList或其他您可能喜欢的列表中


首先读取文本文件并将其各自的组件添加到列表中,然后将该列表加载到GUI中。编辑文件时,可以再次循环浏览该文件,如果列表中不存在零部件,则可以将其添加到中。如果列表中的任何组件与文件不对应,可以将其从列表中删除。之后,您可以使用列表中的组件重新加载GUI。

首先,如果您使用例如
setText
更改组件的值,Swing将自动重新绘制。第二,强制GUI重新绘制将不会重新运行您的代码,首先设置它们的值。因此,首先需要,然后需要调用读取文件的代码,并在该文件更改时设置字段值。是否尝试了update()方法?@Hi@boristeider,感谢您的回复。我的文件会在我使用jbutton更新时立即修改,我确信这一点。我如何调用文本字段中当前更新的修改后的值?不,@Stunner,我是JavaSwing新手,你能解释一下它是如何工作的吗。感谢使用jframe/window对象(如frame.update())调用update方法;没问题!谢谢你的名声:)