簡體   English   中英

如何在沒有應用程序重啟的情況下改變java swing的外觀?

[英]how to change java swing look and feel without application restart?

有沒有一種特定的方法來改變swing應用程序的外觀和感覺,而不需要在每次LAF被用戶更改時重新啟動應用程序?

我正在尋找一個解決方案,在這個解決方案中,可以從配置對話框中選擇LAF並直接在應用中進行更改,而不必回退告訴用戶重新啟動應用程序。

目前我記得屬性文件中選擇的LAF,並在打開任何窗口之前在啟動時設置它。

Java教程

首先需要通過調用UIManager.setLookAndFeel來設置新的外觀:

UIManager.setLookAndFeel(lnfName);

然后,為了使現有的組件反映新的外觀,請在每個頂級容器(對話框,框架......)上調用SwingUtilities.updateComponentTreeUI方法。 您可能還希望調整每個頂級容器的大小以適應其包含組件大小的更改:

SwingUtilities.updateComponentTreeUI(frame);  // update components
frame.pack();                                 // adapt container size if required

暫無
暫無

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

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