// Program 13.2: The TypeWriter Applet
import java.applet.Applet;    
import java.awt.Event; 
import java.awt.Graphics; 

public class tw extends Applet {

  int numcols = 80;
  int numrows = 25;
  int row = 0;
  int col = 0;
  char page[][] = new char[numrows][];

  public void init() {

    for (int i = 0; i < numrows; i++) {
      page[i] = new char[numcols];
    }
    for (int i = 0; i < numrows; i++) {
      for (int j = 0; j < numcols; j++) {
        page[i][j] = '\0';
      }
    }

  }
  
  
  public boolean keyDown(Event e, int key) {
    char c = (char) key;

    if (c == '\n' || c == '\r') {
      row++;
      col = 0;
    }
    else if (row < numrows) {
      if (col >= numcols) {
    	col = 0;
    	row++;
      }
      page[row][col] = c;
      col++;
    }
   	else { // row >= numrows
   	  col++;
   	}
   	repaint();
   	return true;
  } 


  public void paint(Graphics g) {

	for (int i=0; i < numrows; i++) {
	  String tempString = new String(page[i]);	      
      g.drawString(tempString, 5, 15*i + 15);
    }
    
  }

}
