//匿名内部类问题: 这个applet里的TextArea怎么不显示线程里的信息呢?(新手帮帮忙)import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TestApplet extends Applet implements Runnable
{
    Button button;
    TextArea ta;
    public TestApplet()
    {
        button=new Button("start");
        ta=new TextArea();
    }
    
    public void init()
    {
        setLayout(new BorderLayout());
        ta.setEditable(false);
        add(ta,BorderLayout.CENTER);
        add(button,BorderLayout.SOUTH);
                button.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                TestApplet tt=new TestApplet();//问题在这里,请问我怎样写才可以在TextArea里显示线程里的信息呢?
                new Thread(tt).start();
                remove(button);
            }
        });    }
    public void run()
    {
        while(true)
        {
            try
            {
                ta.setText(ta.getText()+"girl!"+"\n");
                ta.append("");
                Thread.sleep(500);
            }
            catch(Exception e ){}
        }
        
    }
}

解决方案 »

  1.   

    主要还是修改你注释的地方,自己看看吧
    //==========================
    package csdn.ui;import java.applet.Applet;
    import java.awt.BorderLayout;
    import java.awt.Button;
    import java.awt.TextArea;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;public class TestApplet extends Applet implements Runnable {
    Button button; TextArea ta; public TestApplet() {
    button = new Button("start");
    ta = new TextArea();
    } public void init() {
    setLayout(new BorderLayout());
    ta.setEditable(false);
    add(ta, BorderLayout.CENTER);
    add(button, BorderLayout.SOUTH); button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    //TestApplet tt = new TestApplet();// 问题在这里,请问我怎样写才可以在TextArea里显示线程里的信息呢?
    new Thread(TestApplet.this).start();
    remove(button);
    }
    }); } public void run() {
    while (true) {
    try {
    ta.setText(ta.getText() + "girl!" + "\n");
    ta.append("");
    Thread.sleep(500);
    } catch (Exception e) {
    }
    } }
    }