Java 如何清除数组中的文本字段?
在我的小程序中,我在公共类标题中声明了TextField,如下所示:Java 如何清除数组中的文本字段?,java,arrays,swing,methods,applet,Java,Arrays,Swing,Methods,Applet,在我的小程序中,我在公共类标题中声明了TextField,如下所示: TextField numbers [][] = new TextField[5][5]; 我还有一个按钮,当点击时,应该可以清除所有的文本框 现在我基本上有这个: JButton b = new JButton("Clear"); b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){
TextField numbers [][] = new TextField[5][5];
我还有一个按钮,当点击时,应该可以清除所有的文本框
现在我基本上有这个:
JButton b = new JButton("Clear");
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
numbers.setText("");
}
});
但是我得到了一个错误:“不能在数组类型TextField[]上调用setText(null)”
如何修复此问题?这里的关键一课:批判性地阅读错误消息,因为它准确地告诉您错误所在 “无法在数组类型TextField[]上调用setText(null)” 您将numbers变量视为一个单独的TextField,而不是,因此不能对其调用
setText(…)
,而是一个2D对象数组。解决方案是考虑如何与任何类似的二维数组交互,如何对数组中的每个项调用方法:使用嵌套for循环在数组中迭代
for (int i = 0; i < numbers.length; i++) {
for (int j = 0; j < numbers[i].length; j++) {
numbers[i][j].setText("");
}
}
// change type from TextField to JTextField
JTextField numbers [][] = new JTextField[5][5];