Swing GUI Builder Intellij IDEA

use*_*694 5 java swing intellij-idea

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

Exception in thread "main" java.awt.IllegalComponentStateException: contentPane cannot be set to null.
Run Code Online (Sandbox Code Playgroud)

我假设自动生成初始化视图的代码.现在我只有一个JPanel并且不知何故它没有自动初始化,即使它在设计师身上清晰可见.

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

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

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

yol*_*ole 12

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

  • 这行得通,但是在我专门右键单击 Forms Java 文件并选择重新编译之前,进行 gradle 重建并没有立即修复它。 (2认同)