关于java中TextField使用setText()方法时的最后显示问题(为什么只能显示最后一次的)?

2024-12-12 00:46:40
推荐回答(5个)
回答1:

事实上除非你查询的结果有几十万,不然的话根本就看不见那种实时的情况,因为计算快,所以结果直接出来的。。。。

你如果要看见结果一个个出来的话,你可以用thread,然后控制它显示的速度。。。

回答2:

就像楼上两位说的那样,我说的具体点吧...
你每次setText(),就是把括号里的内容显示在TextArea或TextField.
举个例子.
tArea.setText("1");
tArea.setText("2");
tArea.setText("3");
读第一行的时候TextArea里面显示“1”
第二行的时候“2”把前面的“1”删除,TextArea里面就显示“2”
最后TextArea里面只会显示“3”.

楼上两位也给了你解决的方法.
你如果要“1”“2”“3”全部显示的话就这样
tArea.setText("1");
tArea.setText(tArea.getText()+"\n2");
tArea.setText(tArea.getText()+"\n3");
这次setText就是先把TextArea里面取下来,加上最新的,再放上去。
因为setText()括号里面是string所以你可以用\n另起一行.

回答3:

这个方法默认设置就是把原来的文本所覆盖,如果需要显示原来的文本基础上再添加文本,可以如下面的代码:

textField.setText(textField.getText()+"新的文本");

这样可以在文本后面添加新的文本

如果需要换行可以加上转义字符\n,windows可能要用\r\n代替,

当然java提供跨平台的获取换行转义字符方法:

System.getProperty("line.separator", "\n");

回答4:

那你要这样写了啊
textField.setText(textField.getText()+newText);
setText注意他的意义哦。他就是把他的内容设成参数这样。

回答5:

你解决了吗,怎么弄的,可以告诉我一下吗,我也是想一个个的显示,线程没用(或许是我不会用)。