Tôi đang gặp vấn đề với việc tạo ra gui java của IntelliJ. Hầu hết các mã phía sau bảng điều khiển là tiếc là ẩn trong người sáng tạo gui và không thể chỉnh sửa bởi tôi.Trình tạo gui của IntelliJ: JPanel cung cấp ngoại lệ con trỏ null khi thêm bất kỳ thành phần
Tôi đã tạo một JPanel trống "questionPanel" với ItelliJ GridLayoutManager. Khi tôi cố thêm bất kỳ thứ gì vào bảng điều khiển đó, tôi nhận được ngoại lệ con trỏ null mặc dù bảng điều khiển chắc chắn không phải là rỗng. Tôi cũng đã thử thêm một JTextField để bố trí (ra khỏi tò mò) và điều đó đã không giúp đỡ một trong hai. JTextField xuất hiện, nhưng tôi vẫn không thể thêm bất cứ thứ gì từ bên trong mã.
Khi tôi thay đổi trình quản lý bố cục thành bất kỳ thứ gì khác (GridBagLayout, FormLayout, BorderLayout, v.v.), tôi không còn gặp lỗi nữa, nhưng không có gì hiển thị.
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
}
Không ai có một ý tưởng về những gì đang xảy ra đằng sau hậu trường hay cách nào cho tôi để có được các thành phần lên bảng? Cảm ơn.
mẫu Stack Trace (dấu vết này không được thực hiện bởi các mã tương tự như trên, nhưng nó là lỗi tương tự):
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)
.....
Để được trợ giúp tốt hơn sớm hơn, gửi một [SSCCE] (http://sscce.org/). –
có thể bạn đã chọn tạo tùy chỉnh? –