在Java中将现有对象添加到数组中

时间:2014-06-08 10:28:25

标签: java arrays object

我正在尝试将一些现有的JRadioButtons添加到此类型的数组中供以后使用。我有这个:

public static javax.swing.JRadioButton jRadioButton1;
public static javax.swing.JRadioButton jRadioButton2;
public static javax.swing.JRadioButton jRadioButton3;
public static javax.swing.JRadioButton jRadioButton4;
public static javax.swing.JRadioButton jRadioButton5;
public static javax.swing.JRadioButton jRadioButton6;
public static javax.swing.JRadioButton jRadioButton7;
public static javax.swing.JRadioButton jRadioButton8;

这些是我的按钮。然后我宣布:

 public static JRadioButton[] seq = new JRadioButton[8];

然后我尝试从数组中分配每个按钮:

seq[0] = jRadioButton1;

但是当我试图像这样访问它时:

seq[0].setSelected(true);

我得到一个空指针异常。我是Java新手,这是我做这件事的第一个逻辑。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

您的静态JRadioButton变量空引用,直到它们被分配了新的JRadioButton个对象:

jRadioButton1 = new JRadioButton();
seq[0] = jRadioButton1;
seq[0].setSelected(true); // Won't throw

答案 1 :(得分:0)

而不是您要执行的操作,请完全重新格式化代码:

int buttonsNeeded = 8;
JRadioButton[] seq = new JRadioButton[8];
for(int i=0; i<buttonsNeeded; i++) {
    seq[i] = new JRadioButton();
}

seq[0].setSelected(true);

这将创建所需的数组初始化每个项目,而无需所有这些声明。如果你知道我的意思,它也适用于5-10-1000个按钮。