IntelliJ gui 创建者:JPanel 在添加任何组件时都会给出运行时空指针异常
2022-09-04 01:10:06
我在IntelliJ的java gui创建方面遇到了问题。不幸的是,面板背后的大部分代码都隐藏在gui创建者中,我无法编辑。
我用ItelliJ GridLayoutManager创建了一个空白的JPanel“questionPanel”。当我尝试向该面板添加任何内容时,即使该面板绝对不是空的,我也会得到一个空指针异常。我还尝试将JTextField添加到布局中(出于好奇),但这也没有帮助。JTextField出现了,但我仍然无法从代码中添加任何内容。
当我将布局管理器更改为其他任何内容(GridBagLayout,FormLayout,BorderLayout等)时,我不再收到错误,但没有任何显示。
显示视图.java
private JPanel questionPane;
public void initialize()
{
questionPane.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
questionPane.add(new JLabel("Test"));
System.out.println("Click event received.");
}
//other overrides hidden
}
有没有人知道幕后发生了什么,或者我有办法把组件放到面板上?谢谢。
示例堆栈跟踪(此跟踪不是由与上面相同的代码创建的,但它是相同的错误):
Exception occurred during event dispatching:
java.lang.NullPointerException
at com.intellij.uiDesigner.core.GridLayoutManager.addLayoutComponent(
GridLayoutManager.java:134)
at java.awt.Container.addImpl(Container.java:1074)
at java.awt.Container.add(Container.java:365)
at [MyProject].UI.View.DisplayView$1.actionPerformed(DisplayView.java:91)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
.....