简单的问题,有人给我解答吗?

sinapaper 2003-05-13 10:05:54
我新建了一个文本数组:
TextField tf[]=new TextField[10];
而且我对每一个文本都初始化了。
然后我怎么能getText()?
我实验tf[1].getText();读不出来,说什么NULLPOINT。各个高手哥哥。给我讲讲吧!~~~
...全文
52 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
antpower 2003-05-18
  • 打赏
  • 举报
回复

TextField tf[];
.....
public void init(){
int count=10;
//TextField tf[]=new TextField[count];//函数内的局部变量,怎么能够在函数消失以后还存在呢?
this.tf= new TextField[count];
for(int i=0;i<count;i++){
tf[i]=new TextField("No"+i,10);
}
.....
Button button=new Button("ok");
add(button);
button.addActionListener(this);
.....
}

我看到的就是这样了
yyfzy 2003-05-13
  • 打赏
  • 举报
回复
学习&&UP!
sinapaper 2003-05-13
  • 打赏
  • 举报
回复
我知道错误的原因了:
程序是这样的:
public class stilltest extends Applet implements ActionListener
{
private String getName;
private String getInput;
private int count;
private int inputcount;
private int col;
private TextArea txf;
private String newLine;
Button btt;
TextField tf[];
inputWindow input;
okwindow okwin;
String sql="";
int tfcount=0;
public void init(){
int count=10;
TextField tf[]=new TextField[count];
for(int i=0;i<count;i++){
tf[i]=new TextField("No"+i,10);
}
.....
Button button=new Button("ok");
add(button);
button.addActionListener(this);
.....
}


public void actionPerformed(ActionEvent event){
for(int i=0;i<tf.length;i++){
sql=tf[i].getText();
}
}
};

问题的关键就是我在外边定义的tf和INIT()里边的不是一个,所以才读不出来!!!
你们给我解决一下吧!!!
foxmx 2003-05-13
  • 打赏
  • 举报
回复
把你的源程序列出来,哥们就不用乱猜了。
sinapaper 2003-05-13
  • 打赏
  • 举报
回复
好拉好拉
给你们分了。你们这些各个怎么这么粗鲁?
antpower 2003-05-13
  • 打赏
  • 举报
回复
TextField tf[]=new TextField[10];
for(int i=0;i<10;i++)
{
tf[i] = new java.awt.TextField();
tf[i].setText(String.valueOf(i));
}
for(int i=0;i<tf.length;i++)
{
System.out.println(tf[i].getText());
}
嘿嘿,你说为什么要用10来代替tf.length.因为此时的tf中什么都没有,长度该是为0吧。
初始化以后就可以用tf.length了

还有,对一个变量的初始化不能在一个类的申明中实现:
e.g.
class kill()
{
TextField tf[]=new TextField[10];
for(int i=0;i<tf.length;i++)
{
tf[i] = new java.awt.TextField();
tf[i].setText(String.valueOf(i));
}
for(int i=0;i<tf.length;i++)
{
System.out.println(tf[i].getText());
}

public kill()
{
}
}
必须把初始化语句放到构造函数,或是其他的类似构造函数中。
ok?




littlecpu 2003-05-13
  • 打赏
  • 举报
回复
public class fuck {
public static void main(String[] args) {
java.awt.TextField tf[]=new java.awt.TextField[10];
for(int i=0;i<tf.length;i++)
{
tf[i] = new java.awt.TextField();
tf[i].setText("操" + String.valueOf(i) + "个");
}
for(int i=0;i<tf.length;i++)
{
System.out.println(tf[i].getText());
}
}
}


操0个

操1个

操2个

操3个

操4个

操5个

操6个

操7个

操8个

操9个

lotofu 2003-05-13
  • 打赏
  • 举报
回复
那么试图去set它的内容时,是否也出错?
sinapaper 2003-05-13
  • 打赏
  • 举报
回复
TO beyond_xiruo(乱谈情)
加了啊。
希偌 2003-05-13
  • 打赏
  • 举报
回复
将文本框加入都JPanel
add(tf[1]);
希偌 2003-05-13
  • 打赏
  • 举报
回复
将文本框加入都JPanel
add(tf[1]);
sinapaper 2003-05-13
  • 打赏
  • 举报
回复
to adiangege(颠颠):
当然进行了啊!!!可是读不出来。
TO littlecpu(嘿,哥们,你欠我分,快给咯):
你的方法也不行!!!!!还是报错!~~~~
littlecpu 2003-05-13
  • 打赏
  • 举报
回复
TextField tf[]=new TextField[10];
for(int i=0;i<tf.length;i++)
{
tf[i] = new java.awt.TextField();
tf[i].setText(String.valueOf(i));
}
for(int i=0;i<tf.length;i++)
{
System.out.println(tf[i].getText());
}
adiangege 2003-05-13
  • 打赏
  • 举报
回复
分别对
tf[0]= new TextField();
tf[1]= new TextField();
...
tf[9]= new TextField();
了吗??


62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧