java - 主题切换后 Intellij 插件 JBTabbedPane UI 被替换

标签 java swing intellij-idea intellij-plugin

我通过一个带有 JBTabbedPane 的插件添加了一个工具窗口。

当用户将主题从 Intellij 切换到 Darcula 并返回(反之亦然)时,IDE 会获得侧面 UI 而不是我的类。

我使用 Intellij 2019.1.3,但在 2018.3 和其他一些中有相同的行为

STR: 1.运行Gradle任务runIDE 2.打开项目 3.将主题更改为Darcula并应用 4.将主题更改为Intellij并应用

https://github.com/yrakovets/tabbedPaneTest.git

预期:第 2 步和第 4 步后 JBTabbedPane UI 将类似

实际:不同的用户界面

最佳答案

我已经解决了我的问题。它在示例中无法正常工作,但在我的项目中可以正常工作。我将 UI“返回”到 PropertyChangeListener 中)

pane.addPropertyChangeListener(evt -> {
            if (!pane.getUI().equals(ui)) {
                pane.setUI(ui);
            }
        });

关于java - 主题切换后 Intellij 插件 JBTabbedPane UI 被替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56458048/

相关文章:

java - IntelliJ 提示我使用的是 java 5 但实际上它是 Java 12

java - 不同行的 ListView 自定义适配器

java - 如何隐藏TOMCAT webapp文件夹中的JSP文件

java - 添加蚁群优化作为单个数据中心中虚拟机之间的负载平衡策略

java - 如何制作用于搜索的文本字段(使用谷歌搜索等提示)

java - 使用 Swing 计时器和 ImageIcons

user-interface - Intellij插件过滤日志?

java - 通用观察者 - 类型转换问题

java - 在我的 GUI (java) 中显示 CMD 输出

java - Intellij 提示 must either be declared abstract or implement abstract method '$init$()' in 'Plugin'