Maison >Java >javaDidacticiel >Pourquoi les modifications d'apparence et de convivialité ne s'appliquent-elles pas aux nouveaux onglets JTabbedPane dans Swing ?

Pourquoi les modifications d'apparence et de convivialité ne s'appliquent-elles pas aux nouveaux onglets JTabbedPane dans Swing ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-26 10:29:12510parcourir

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

Aspect et sensation des mises à jour dans Swing JTabbedPane après l'ajout d'un onglet

Problème : Lors de l'ajout d'un nouvel onglet à un JTabbedPane dans une application Swing, les modifications d'apparence apportées via le menu de l'application ne s'appliquent pas au nouveau tab.

Solution :

Pour garantir que l'apparence et la convivialité sont mises à jour dans le JTabbedPane, y compris les nouveaux onglets, utilisez l'approche étendue suivante dérivée des commentaires de @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);
    }

En plus de mettre à jour l'apparence des composants individuels, cette approche parcourt toutes les fenêtres ouvertes de l'application et actualise leur Composants de l'interface utilisateur, garantissant que tous les onglets JTabbedPane nouvellement créés reçoivent également l'apparence mise à jour.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn