当前位置:  开发笔记 > 编程语言 > 正文

如何清除数组中的TextField?

如何解决《如何清除数组中的TextField?》经验,为你挑选了1个好方法。

在我的applet程序中,我在我的公共类头中声明了TextField:

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)

我怎样才能解决这个问题?



1> Hovercraft F..:

这里的重要教训:批判性地阅读错误消息,因为它告诉您到底出了什么问题.

"无法在数组类型TextField [] []上调用setText(null)

你处理的数字变量,如果它是一个单一的文本字段,它不是,所以你不能把setText(...)它-而这是对象的二维数组.解决方案是考虑如何与任何类似的二维数组进行交互,如何在数组中保存的每个项上调用方法:使用嵌套for循环来遍历数组.

for (int i = 0; i < numbers.length; i++) {
    for (int j = 0; j < numbers[i].length; j++) {
       numbers[i][j].setText("");
    }
}

此外,将TextField更改为JTextField,以便您使用所有Swing组件:

// change type from TextField to JTextField
JTextField numbers [][] = new JTextField[5][5];

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有