簡體   English   中英

Java / SWT / JFace是否強制重新加載GUI?

[英]Java/SWT/JFace forcefull reload of GUI?

我有一個無需重新啟動即可更改其語言的應用程序。 它已經使用了Resourcebundles來支持不同的語言,但是由於Menu-Items和其他GUI-stuf是在程序啟動的前幾秒內生成的,因此我無法再更改其Content了。

知道我能做什么嗎? 還是我必須跟蹤每個與GUI相關的項目?

一種簡單的選擇是從頭開始重新創建UI,而無需重新啟動應用程序。

例如,您可以隱藏舊的Shell,然后顯示具有相同狀態但不同語言的新外殼。

如果這都不被接受...我在這里推測...也許您可以使用Widget.setData(String,Object)為每個小部件存儲一個本地化關鍵字,然后在切換語言時使用Composite.getChildren()遍歷小部件樹-從Shell開始-並使用Widget.getData(String)獲取每個小部件的資源密鑰。 但是,單個窗口小部件可能具有多個與其關聯的可本地化的字符串。

是的,您應該保留引用GUI對象的對象,以便在用戶選擇新語言時可以更新其文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM