ホームページ >Java >&#&チュートリアル >Swing の新しい JTabbedPane タブにルック アンド フィールの変更が適用されないのはなぜですか?
タブ追加後の Swing JTabbedPane のルック アンド フィールの更新
問題: 新しいタブを JTabbedPane に追加するときSwing アプリケーションでは、アプリケーション メニューを通じて行われたルック アンド フィールの変更は、 new tab.
解決策:
新しいタブを含め、JTabbedPane のルック アンド フィールが確実に更新されるようにするには、@Andrew のコメントから派生した次の拡張アプローチを使用します。
int index = combo.getSelectedIndex(); try { UIManager.setLookAndFeel( available[index].getClassName()); // Update UI for all windows including JTabbedPane Window windows[] = Frame.getWindows(); for(Window window : windows) { SwingUtilities.updateComponentTreeUI(window); } } catch (Exception e) { e.printStackTrace(System.err); }
個々のコンポーネントのルック アンド フィールを更新することに加えて、このアプローチは、開いているすべてのウィンドウを反復処理します。アプリケーションを実行してその UI コンポーネントを更新し、新しく作成された JTabbedPane タブも更新されたルック アンド フィールを受け取るようにします。
以上がSwing の新しい JTabbedPane タブにルック アンド フィールの変更が適用されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。