使用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:16,118 [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
等于JPanel
,则无法将组件添加到GridLayoutManager(IntelliJ)
。
如果您有相同的问题。
GUI Designer
JPanel
Layout Manager
更改为GridLayoutManager(IntelliJ)
或FormLayout(JGoodies)
以外的任何内容>或以编程方式
contentPane.setLayout(new BoxLayout());