Java (IntelliJ GUI设计器)将组件添加到JPanel时的运行时NullPointerException

Java (IntelliJ GUI设计器)将组件添加到JPanel时的运行时NullPointerException,java,swing,intellij-idea,intellij-plugin,Java,Swing,Intellij Idea,Intellij Plugin,使用IntelliJ插件,并尝试将JLabel组件添加到JPanel,单击JButton,这是我的代码片段 addLabelButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { contentPane.add(new JLabel("Hi, JLabel!")); contentPane.reval

使用IntelliJ插件,并尝试将
JLabel
组件添加到
JPanel
,单击
JButton
,这是我的代码片段

addLabelButton.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        contentPane.add(new JLabel("Hi, JLabel!"));
        contentPane.revalidate();
        contentPane.repaint();
    }
});
单击
JButton
我得到一个运行时错误

2020-01-02 17:44:16118[30502]错误- llij.ide.plugins.PluginManager-null java.lang.NullPointerException 在 com.intellij.uiDesigner.core.GridLayoutManager.addLayoutComponent(GridLayoutManager.java:134) 位于java.desktop/java.awt.Container.addImpl(Container.java:1152) java.desktop/java.awt.Container.add(Container.java:436)


经过一番研究之后,我明白了重点。问题是,如果
JPanel
Layout Manager
等于
GridLayoutManager(IntelliJ)
,则无法将组件添加到
JPanel

如果您有相同的问题。

  • 进入
    GUI设计器
  • 选择要向其添加组件的
    JPanel
  • 在属性面板中,将
    布局管理器更改为
    网格布局管理器(IntelliJ)
    表单布局(JGoodies)

或以编程方式

contentPane.setLayout(new BoxLayout());

哪个版本的intellij和哪个java版本?另外,在运行java之前,您可以添加--inflicle access=deny,这样java将对非法反射访问抛出异常,您可以检查跟踪以确定原因。@Balaji我已经更新了问题并添加了IntelliJ和java版本。您可以再看一次吗?不要发布文本图像。添加文本本身@YamanKATBY您是否可以通过运行您的程序来共享更新的跟踪--非法访问=尝试将JLabel添加到JPanel-您的代码实际上添加了一个
标签
,它是AWT组件,而不是Swing组件。