Java (IntelliJ GUI设计器)将组件添加到JPanel时的运行时NullPointerException
使用IntelliJ插件,并尝试将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
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组件。