Search code examples
intellij-ideaintellij-plugin

Null pointer when adding action listeners in IntelliJ GUI form


I'm using an IntelliJ GUI form to create a toolwindow as part of an IntelliJ plugin. This is some code in the class bound to the form:

private JButton checkNifi;    

NifiToolWindow(ToolWindow toolWindow) {
    checkNifi.addActionListener(e -> toolWindow.hide(null));
}

I understand that when this action listener is added the button is still null and this is the issue, however even if I do checkNifi = new JButton("Some text");, the null pointer instead gets thrown on this line.

I should add I also have a ToolWindowFactory class which looks like this:

@Override
public void createToolWindowContent(@NotNull Project project, @NotNull com.intellij.openapi.wm.ToolWindow toolWindow) {
    NifiToolWindow nifiToolWindow = new NifiToolWindow(toolWindow);
    ContentFactory contentFactory = new ContentFactoryImpl();
    Content content = contentFactory.createContent(nifiToolWindow.getContent(), "", false);
    toolWindow.getContentManager().addContent(content);
}

This is taken from the example here https://github.com/JetBrains/intellij-sdk-docs/tree/master/code_samples/tool_window/src/myToolWindow

Any help or ideas would be great.


Solution

  • I found the solution, I had create custom box ticked in the gui designer, but an empty createGuiComponents() method. Therefore it was null.