传递Swing组件 - NullPointerException

时间:2015-09-22 15:09:27

标签: java swing nullpointerexception

我试图将Swing组件传递给另一个对象,但系统不断抛出NullPointerException。当我在传递组件之前将组件打印到String时,它不等于null。这里出了什么问题?

非常感谢

public ResizePanel() {
    initComponents();
    setLayout(null);
    this.setBackground(Color.red);
    JButton b = new JButton();
    System.out.println("b = " + b.toString());
    resizer.addJButton(b, 10, 10);  //THROWS NULLPOINTEREXCEPTION HERE
    b.setName("b");
    b.setBounds(100, 100, 100, 40);
    this.add(b);
 }  

1 个答案:

答案 0 :(得分:2)

  

当我在传递组件之前将组件打印到String时,

你没有通过它"。你的" resizePanel()"没有参数。方法

所以你可能有两个同名的变量,一个实例变量和一个局部变量。因此,您正在访问一个null的实例变量。

实例变量可能使用以下代码定义:

JPanel resizer; // this variable is null and used by your method

您可能还创建了一个非空的局部变量:

JPanel resizer = new JPanel(); // this is not null

以上代码应更改为:

resizer = new JPanel(); 

现在你只有一个初始化的实例变量。