Swing GUI Builder Intellij IDEA

时间:2015-07-30 09:54:24

标签: java swing intellij-idea

我似乎无法在IntelliJ GUI构建器上运行表单

Exception in thread "main" java.awt.IllegalComponentStateException: contentPane cannot be set to null.

我假设自动生成初始化视图的代码。现在我只有一个JPanel,不管怎样它都没有自动初始化,即使它在设计师身上清晰可见。

这是一个Gradle项目,我选择使用生成的主函数运行。

我需要做些什么才能让它发挥作用?

public class MyForm {

    private JPanel jPanel;

    public static void main(String[] args) {
        JFrame frame = new JFrame("MyForm");
        frame.setContentPane(new MyForm().jPanel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
}

2 个答案:

答案 0 :(得分:12)

默认情况下,IntelliJ IDEA UI设计器通过生成字节码来工作,遗憾的是,Gradle构建不支持该字节码。您可以更改它以在“设置”中生成源代码编辑| GUI Designer。

答案 1 :(得分:0)

请参阅Intellij (Swing) GUI not compiling because of Gradle

通过更改intellij设置解决(另请参见屏幕截图)

我已经检查过:

  • 自动导入...
  • 使用-set-intellij构建并运行
  • 使用-set-intellij运行测试
  • Gradle JVM-设置-使用项目JDK