(Java) 更改摆动组件运行时的文本(资源包)
我正在设置 JLabel 的值,
myLabel.setText( controller.getString("hello") );
其中controller.getString 从 ResourceBundle 实例返回 getString。
但是,我正在尝试在运行时更新应用程序的语言,并且我很难弄清楚如何“刷新”标签的文本,以便它使用新的区域设置的 getString。
我使用观察者模式,每当语言切换时都会更新我的框架。
有什么建议吗?
谢谢。
约翰·诺依曼.
I'm setting the value of a JLabel with
myLabel.setText( controller.getString("hello") );
where controller.getString returns the getString from a ResourceBundle instance.
However, I'm trying to update the language of the application at runtime and I'm having the hardest time to figure out how to 'refresh' the label's text so that it users the new Locale's getString.
I use an observer-pattern that updates my frame whenever the language is switched.
Any suggestions?
Thank you.
John Neumann.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果再次调用setText,标签将被更新。因此,在 Observer 接口的实现中,当语言切换时,您可以通过调用相同的 setText 方法来确保所有标签都是正确的语言。
If you call setText again, the label will be updated. So in your implementation of the Observer interface, when the language switches you can ensure all your labels are the right language by calling that same setText method.