У меня возникла проблема с созданием графического интерфейса IntelliJ для Java. Большая часть кода панели, к сожалению, скрыта в средстве создания графического интерфейса и недоступна для редактирования мной.
Я создал пустой JPanel "questionPanel" с ItelliJ GridLayoutManager. Когда я пытаюсь добавить что-либо на эту панель, я получаю исключение нулевого указателя, хотя панель определенно не является нулевой. Я также попытался добавить 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
}
Есть ли у кого-нибудь идеи о том, что происходит за кулисами, или как мне вывести компоненты на панель? Спасибо.
Пример трассировки стека (эта трассировка не выполняется тем же кодом, что и выше, но это та же ошибка):
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)
.....