返回信息流java里面的文本区域怎么动态输出信息呢? 我把输出语句jTextField.setText()写在循环里,可是运行后只输出了循环结束后的数值,并没有输出该数值的变化过程
这是一条镜像帖。来源:北邮人论坛 / java / #17702同步于 2011/3/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
菜鸟求问
hamazing
2011/3/27镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
set应该会将已有数据段中信息 清空再写入吧,所以最后写入的才是最终值。跟1楼的方法类似,get以后放在StringBuilder中,最后toString().
哥也是菜鸟啊,这种情况可以自己查查百度呀。我跟着网上学了一个,你试试
private static int i=0;
Timer timer = new Timer();
timer.schedule(new MyTask(), 0,1000);
class MyTask extends java.util.TimerTask{
@Override
public void run() {
jTextField1.setText(String.valueOf(i));
i++;
if(i>10)
{timer.cancel();}
}
}
这个只是部分代码,你放进你的类里面试试,我的是可以的
java里面有Timer这个类,它拥有schedule(x,y,z)方法。此方法中x代表你想要执行的类,这个类要继承于java.util.TimerTask这个类,我这里是自己定义的类叫MyTask。
y代表从执行的开始的时间,z代表时间间隔。
在这里,我的schedule方法执行后,会自动执行我定义的MyTask类中的run方法,并以1000的时间间隔执行(这里正好代表是一秒)。
timer.cancel().这个方法就是取消所有的任务,因为timer这个对象可以拥有很多任务,还有一个取消单个任务的方法
setText()方法会把原来的内容清除,然后写入新内容,所以你只能看见循环最后写进去的那个。
String s = null;
int i = 0;
jTextField.setText(i + "");
for;i< 10;i++)
{
s += jTextField.getText();
s += i;
jTextField.setText(s);
}