//LetterDraw.java //Demonstrates mouse, keyboard input //Andy Harris, 05/00 import java.awt.*; import java.applet.*; import java.awt.event.*; public class Draw extends Applet implements MouseListener, KeyListener, MouseMotionListener{ int currentX = 100; int currentY = 100; String currentChar = "A"; Graphics drawSurface; public void init(){ this.requestFocus(); addMouseListener(this); addMouseMotionListener(this); addKeyListener(this); drawSurface = this.getGraphics(); } // end init public void mouseClicked(MouseEvent e){ System.out.println(e); currentX = e.getX(); currentY = e.getY(); drawSurface.drawString(currentChar, currentX, currentY); } // end mouse event public void mouseEntered(MouseEvent e){ //do nothing } // end mouse event public void mouseExited(MouseEvent e){ //do nothing } // end mouse event public void mousePressed(MouseEvent e){ //do nothing } // end mouse event public void mouseReleased(MouseEvent e){ mouseClicked(e); } // end mouse event public void mouseDragged(MouseEvent e){ mouseClicked(e); } // end mouseDragged public void mouseMoved(MouseEvent e){ // do nothing } // end mouseMoved public void keyPressed(KeyEvent e){ System.out.println(e); //Trap for function keys switch (e.getKeyCode()){ case KeyEvent.VK_F1: drawSurface.setFont(new Font("SansSerif", Font.BOLD, 10)); break; case KeyEvent.VK_F2: drawSurface.setFont(new Font("SansSerif", Font.BOLD, 14)); break; case KeyEvent.VK_F3: drawSurface.setFont(new Font("SansSerif", Font.BOLD, 18)); break; case KeyEvent.VK_F4: drawSurface.setFont(new Font("SansSerif", Font.BOLD, 24)); break; } // end switch if (e.isControlDown()){ //look for control combinations switch (e.getKeyCode()){ case 66: drawSurface.setColor(Color.blue); break; case KeyEvent.VK_G: drawSurface.setColor(Color.green); break; case KeyEvent.VK_R: drawSurface.setColor(Color.red); break; case KeyEvent.VK_Y: drawSurface.setColor(Color.yellow); break; case KeyEvent.VK_O: drawSurface.setColor(Color.orange); break; case KeyEvent.VK_B: drawSurface.setColor(Color.black); break; case KeyEvent.VK_M: drawSurface.setColor(Color.magenta); break; case KeyEvent.VK_W: drawSurface.setColor(Color.white); break; } // end switch } // end if } // end key event public void keyReleased(KeyEvent e){ //do nothing } // end key event public void keyTyped(KeyEvent e){ System.out.println(e); if (!e.isControlDown()){ currentChar = String.valueOf(e.getKeyChar()); } // end if } // end key event } // end class def