java - 我需要将 UI 初始化代码放在 IntelliJ Idea 插件中的什么位置?

标签 java intellij-idea intellij-plugin

我想为 IntelliJ Idea 创建一个插件,将一个小按钮放入状态栏。

据我所知,此代码必须如下所示:

final StatusBar statusBar = WindowManager.getInstance().getStatusBar(project);
final StatusBarWidget widget = new WordCounterWidget();
statusBar.addWidget(widget);

WordCounterWidget是我想放在状态栏中的按钮。

我试着说说

  • 进入action这就是所谓的,当我选择一个特定的菜单项和
  • 进入 project service 的构造函数.

这些都没有带来预期的结果——按钮没有显示。

上面用于插入按钮(或任何其他可以显示文本且可点击的按钮)的代码是否正确?如果是,我应该把它放在哪里,以便在打开、重新打开或创建项目时执行它(当在 Idea 中打开项目时,状态栏小部件应该始终可见)?

密码是here .

更新 1: 尝试更改 WordCounterServiceImpl 的代码到

public class WordCounterServiceImpl implements WordCounterService {
    private final Project project;
    public WordCounterServiceImpl(final Project project) {
        this.project = project;
    }

    @Override
    public void projectOpened() {
        final StatusBar statusBar = WindowManager.getInstance().getStatusBar(project);
        final StatusBarWidget widget = new WordCounterWidget();
        statusBar.addWidget(widget);
    }
}

按钮仍然没有显示。

最佳答案

com.intellij.openapi.components.ProjectComponent#projectOpened

参见:https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_components.html

关于java - 我需要将 UI 初始化代码放在 IntelliJ Idea 插件中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50426421/

相关文章:

intellij-idea - 在 IntelliJ 中,如何使用来自不同 SVN 位置的模块更新项目(ctrl+T)

java - 如何为每个对象使用变量

java - 如何在 Java GUI 中使用鼠标光标拖动图像?

java - 现代 IDE 可以检测子树中的字段/方法使用情况吗?

java - IntelliJ Idea 不显示 GUI

java - Intellij 插件开发捆绑依赖项

intellij-idea - 从VirtualFile读取文件内容-intellij插件开发

java无重复随机生成器

java - 如何在单元测试中等待 util 所有消息均由参与者处理?

intellij-plugin - 在工具栏中为 Intellij 插件添加按钮