-1

如果在名为 saved_mat 的数组中的特定点找到单词“true”,我正在尝试将复选框设置为被选中。

System.out.println(saved_mat[0][15]);
    if(saved_mat[0][15].equals("true")){
        e1_10e.setSelected(true);
    }

第一行按预期打印出“true”,但第三行出现空指针异常。数组的大小为 [30][24],第一行确认数组的 [0][15] 元素中有内容。e1_10e 被定义为一个 JCheckbox。我不确定如何在第三行获得空指针异常。任何帮助,将不胜感激。

JCheckBox e1_10e = new JCheckBox("");
    e1_10e.setBounds(32, 152, 21, 23);
    jp1.add(e1_10e);

这是由 GUI 编辑器生成的用于创建 JCheckbox 的代码。我对几个 JTextField 使用了相同的编辑器,并且能够在我的代码中毫无问题地引用它们。

4

3 回答 3

2

当您需要调用任何方法时,Object您需要确保Object已实例化调用构造函数。此外,在使用变量之前检查变量的值是一个很好的做法。

于 2012-07-16T13:09:51.230 回答
0

声明没有创建对象,添加以下行:

JCheckBox e1_10e = new JCheckBox();
于 2012-07-16T13:05:14.573 回答
0

我发现我的错误是行

JCheckbox e1_10e = new JCheckBox("");

由于复选框已在前面声明,因此只需要

        e1_10e = new JCheckBox("");
于 2012-07-16T14:16:44.120 回答