LineText //代表(最后)读取的一行文本
DiDian.setText(LineText)//把最后一把文本"设置"为文本组件的内容
问题就出现在:
在while循环里 ,每一次都会使用最后一行代码来替换 文本组件的内容 所以文本组件只会显示最后一行的内容
解决办法[推荐的方法]:
StringBuilder sb=new StringBuilder()while((LineText=BR.readLine())!=null){
sb.append(LineText) //把每一行都保存到StringBuilder
sb.append("\r\n")//如果每一行都需要换行,那么把每一行后面都加上一个换行符
}
//读取完了,才设置文本组件的文字
DiDian.setText(sb.toString)
最后建议 :
JTextArea文本组件说明
JTextArea jta=new JTextArea()//文本域组件, 可以调用append方法,追加文字jta.append(LineText+"\r\n") //但是频繁的追加文本,是不推荐的 *** 作,导致性能降低.
//建议还是使用StringBuilder或者StringBuffer来连接字符串
JTextField / JTextPane文本组件的说明
JTextPane jtp=new JTextPane()jtp.setText(jtp.getText()+LineText+"\r\n")//可以在调用setText的时候 ,
//先getText获取之前文本,在添加上新的文本
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)