// 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); } } }