你可以把放置到JTextArea中的信息先放到Vector对象中去!然后设置一个数组长度!比如说为50(这里的长度直接影响着JTextArea中的显示条目!)然后,在JTextArea中通过数组进行Vector中的数据的调用,在调用过程最初,设置一个条件,即如果要显示的数据大于规定数组的长度那么就删除Vector中的第一条,如此类推!

解决方案 »

  1.   

    那还不如直接跟踪JTextArea中的\n数,或者直接用一个boolean变量设置行数是否已经达到要求的最大行数,没增加一行之前检查一遍,用一个整形变量记录没有达到最大之前的行数
    应该效率要好一点吧,我是这么想的
      

  2.   

    可以用STRINGBUFFER来实现.不过也得用取字符串长度,然后削减才行.
      

  3.   

    谢谢各位! 我和四楼的想法一样,而且已经实现,不过我不知道dlglmf(雨魂)怎么去实现动态的把最先写入的那行减掉。
    等会给分
      

  4.   


          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++;
               }
             }
           }
    写的太乱了,很难看懂,唉!慢慢改进吧,谁要是有好的方法希望也帖出来