首页 >Java >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 应用程序中,通过应用程序菜单所做的外观更改不适用于新的应用程序

解决方案:

要确保 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn