UIDefaults を動的に変更して、Swing アプリケーションのカスタマイズに取り組んでいます。最終的な目標は、それらの多く (色、フォント、サイズ、境界線など) を変更し、ユーザーごとに結果を保存することです。アプリケーションに非標準の外観を与える場合がありますが、クライアントは要求し、クライアントは受け取る必要があります。
私が直面している唯一の問題は、GUI が一度だけ更新されることです。初めて UI プロパティを変更したときは、すべてがうまくいき、その後の変更は何にも影響しません。
// called from the EDT
// uiKeyName points to some ColorUIResource
UIManager.getDefaults().put(uiKeyName, <<color from color picker>>);
SwingUtilties.updateComponentTreeUI(rootWindow);
一度は機能しますが、二度と機能しません。アイデア?