ホームページ >Java >&#&チュートリアル >Swing の新しい JTabbedPane タブにルック アンド フィールの変更が適用されないのはなぜですか?

Swing の新しい JTabbedPane タブにルック アンド フィールの変更が適用されないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-26 10:29:12510ブラウズ

Why Don't Look and Feel Changes Apply to New JTabbedPane Tabs in Swing?

タブ追加後の 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。