请问在下面的程序中注释掉buffer.append(newWord);一行为什么applet界面上没有显示。即使没有往StringBuffer中添加,那至少初始化的“initializing”应该显示啊。import java.applet.*;
import java.awt.Graphics;
public class AppletTest extends Applet {
StringBuffer buffer;

public void init(){

buffer=new StringBuffer();
addItem("initializing....");
} public void start(){
addItem("staring....");
} public void stop(){
addItem("stoping....");
}

void addItem(String newWord){
System.out.println(newWord);
         //buffer.append(newWord);
repaint();



}

public void paint(Graphics g){
g.drawRect(0,0,getSize().width-1,getSize().height-1);
g.drawString(buffer.toString(),5,15);
}
}

解决方案 »

  1.   

    init()中的addItem("initializing....");将字符串"initializing...."作为参数传递给了addItem(String newWord)方法,addItem(String newWord)方法在接收到newWord参数后用System.out.println(newWord);在控制台显示字符串参数,如果不运行buffer.append(newWord);的话,暂时buffer中是没有字符串的,所以你的repaint();方法不会画出任何字符。 public void init(){
    buffer=new StringBuffer();
    addItem("initializing....");
    } void addItem(String newWord){
    System.out.println(newWord);
             //buffer.append(newWord);
    repaint();
    }