Maison >Java >javaDidacticiel >Pourquoi les modifications d'apparence et de convivialité ne s'appliquent-elles pas aux nouveaux onglets JTabbedPane dans 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!