【发布时间】:2012-03-27 04:43:15
【问题描述】:
我在创建 IntelliJ 的 java gui 时遇到问题。不幸的是,面板后面的大部分代码都隐藏在 gui 创建器中,我无法编辑。
我用 ItelliJ GridLayoutManager 创建了一个空白的 JPanel“questionPanel”。 当我尝试向该面板添加任何内容时,即使面板绝对不为空,我也会收到空指针异常。我还尝试将 JTextField 添加到布局中(出于好奇),但这也无济于事。 JTextField 出现了,但我仍然无法从代码中添加任何内容。
当我将布局管理器更改为其他任何东西(GridBagLayout、FormLayout、BorderLayout 等)时,我不再收到错误,但什么也没有显示。
DisplayView.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
}
是否有人知道幕后发生的事情或我将组件放到面板上的方法?谢谢。
Sample Stack Trace(此trace不是由与上面相同的代码进行的,但它是相同的错误):
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)
.....
【问题讨论】:
-
如需尽快获得更好的帮助,请发帖SSCCE。
-
也许你检查了自定义创建?
标签: java swing intellij-idea jpanel