你把前面的都覆盖了,当然显示不了,把这句该成
ta.setText(ta.getText()+StrArray[i]);
另外,给你提个建议,变量首字母最好小写,嘿嘿

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.*;public class TestTextArea
    {
    public static void main(String args[])
    {new TextAreaFrame();}
    } class TextAreaFrame extends Frame

      TextArea ta;
      String  StrArray[];
      
      TextAreaFrame()
      {ta=new TextArea(6,20);
       StrArray=new String[8];
       String StrArray[]={"a","b","c","d","e","f","g","h"};
       for(int i=0;i<StrArray.length;i++)
       ta.append(StrArray[i]+"\n");
       add(ta);
       setSize(200,200);
       show();}
    }
      

  2.   

    你用的settext()方法是初始化的时候用的,会把以前显示的清空再显示你所要显示的string
    应该用append(),这个方法是用来添加新的显示内容的,不会覆盖以前的内容
    \n的作用是换行
      

  3.   

    to 楼主
    我给你改好了,你copy过去就行了mymoto(忽忽) 
    又是你,来和我抢分,呵呵
    :(
      

  4.   

    to  nodreamer(我想抽烟) :
      你也来抢分了,哈哈
      

  5.   

    谢谢,果然行了,我需要每行显示数组中的一个值,我修改成这样:
    for(int i=0;i<StrArray.length;i++)
    if(i==0)ta.setText(StrArray[i]);
    else ta.setText(ta.getText()+"\n"+StrArray[i]);
    现在完全符合我得要求了!!!
    40分都归你了!!!