我通过下面的代码更改了UI语言
UIManager.getInstance().setBundle(theme.getL10N("L10N", language));
我应该重新创建 UI 上的所有组件来更改语言吗?
是否有更有效的方法来更改所有 UI 组件上的语言?
是的。没有。
没有比这更有效的方法了,因为替代方案是将所有组件绑定到跟踪语言更改的侦听器。这可能会很昂贵,但也有内存泄漏的风险。在代号一中,表单的创建和丢弃速度应该很快,所以这应该相当快。