JTextArea的问题 你可以把放置到JTextArea中的信息先放到Vector对象中去!然后设置一个数组长度!比如说为50(这里的长度直接影响着JTextArea中的显示条目!)然后,在JTextArea中通过数组进行Vector中的数据的调用,在调用过程最初,设置一个条件,即如果要显示的数据大于规定数组的长度那么就删除Vector中的第一条,如此类推! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那还不如直接跟踪JTextArea中的\n数,或者直接用一个boolean变量设置行数是否已经达到要求的最大行数,没增加一行之前检查一遍,用一个整形变量记录没有达到最大之前的行数应该效率要好一点吧,我是这么想的 可以用STRINGBUFFER来实现.不过也得用取字符串长度,然后削减才行. 谢谢各位! 我和四楼的想法一样,而且已经实现,不过我不知道dlglmf(雨魂)怎么去实现动态的把最先写入的那行减掉。等会给分 String aa[]; boolean bl=false; try{ aa = (String[]) objStream.readObject();//是我从servlet里接收的一个数组,就是要在TextArea里添加的信息;一次把这个数组加到里面,数组的一个值为一条信息 int aalength=0; for(int n=0;n<10;n++){ if(aa[n]!=null){ aalength++; } }//如果接受来的数组的长度大于20,直接截取 if(aalength>20){ for(int j=0;j>=19;j++){ warningtext.setText(""); warningtext.append(aa[j]+"\n"); } }else{ countwInfo+=aalength;//如果全局变量countwInfo累加的值大于20,把countwInfo设为20 if(countwInfo>20){ int duoyu=countwInfo-20; countwInfo=20;//countwInfo是一全局变量 int型 初始值为0 warningtext.setText(""); int m=0; for(int k=0;k<20;k++){ if(k+duoyu<20) totalwInfo[k]=totalwInfo[k+duoyu];//totalwInfo[20]是声名的一个全局数组;20代表要显示的最大条数 else if(m<aalength){ totalwInfo[k] = aa[m]; m++; } warningtext.append(totalwInfo[k]+"\n"); } }//如果累加条数countwInfo的值不大于20,显示切把aa[]加到totalwInfo[]的后面else{ int s=0; for(int i=0;i<=aalength-1;i++){ warningtext.append(aa[i]+"\n"); } for(int l=(countwInfo-aalength);l<countwInfo;l++){ totalwInfo[l] = aa[s]; s++; } } }写的太乱了,很难看懂,唉!慢慢改进吧,谁要是有好的方法希望也帖出来 知年月日,求日为星期几,求经典解 打印输出下列图形 求一个字符串替换的代码 如何改变RCP程序的外观-比如颜色 有谁能告诉我这个程序哪个地方错了吗 问个很幼稚的问题:在数据库建立视图后,我还有必要用存储过程来得到这个视图的结果集吗? 老问题:连接sybase数据库异常,送100分! 有人用Sybase+jConnect吗?使用时有哪些需要注意的?请指教下小弟! 请问,我如何知道结果集中得到了几条记录 JAVA 的问题 线程问题 数据库问题
应该效率要好一点吧,我是这么想的
等会给分
String aa[];
boolean bl=false;
try{
aa = (String[]) objStream.readObject();//是我从servlet里接收的一个数组,就是要在TextArea里添加的信息;一次把这个数组加到里面,数组的一个值为一条信息
int aalength=0;
for(int n=0;n<10;n++){
if(aa[n]!=null){
aalength++;
}
}
//如果接受来的数组的长度大于20,直接截取
if(aalength>20){
for(int j=0;j>=19;j++){
warningtext.setText("");
warningtext.append(aa[j]+"\n");
}
}else{
countwInfo+=aalength;
//如果全局变量countwInfo累加的值大于20,把countwInfo设为20
if(countwInfo>20){
int duoyu=countwInfo-20;
countwInfo=20;//countwInfo是一全局变量 int型 初始值为0
warningtext.setText("");
int m=0;
for(int k=0;k<20;k++){
if(k+duoyu<20)
totalwInfo[k]=totalwInfo[k+duoyu];//totalwInfo[20]是声名的一个全局数组;20代表要显示的最大条数
else
if(m<aalength){
totalwInfo[k] = aa[m];
m++;
}
warningtext.append(totalwInfo[k]+"\n");
}
}
//如果累加条数countwInfo的值不大于20,显示切把aa[]加到totalwInfo[]的后面
else{
int s=0;
for(int i=0;i<=aalength-1;i++){
warningtext.append(aa[i]+"\n");
}
for(int l=(countwInfo-aalength);l<countwInfo;l++){
totalwInfo[l] = aa[s];
s++;
}
}
}
写的太乱了,很难看懂,唉!慢慢改进吧,谁要是有好的方法希望也帖出来