home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 2000 May / APC_Magazine_CoverDisk-May-00 / APC_Magazine_CoverDisk-CD2-May-00.iso / workshop / scribble.java < prev   
Encoding:
Java Source  |  2000-03-01  |  1.8 KB  |  77 lines

  1. import java.applet.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4.  
  5. public class scribble extends Applet
  6.   implements MouseListener, MouseMotionListener, ActionListener
  7. {
  8.   private int prevX, prevY;
  9.  
  10.   PopupMenu popup;
  11.   Color col = Color.black;
  12.  
  13.   public void init ()
  14.   {
  15.     prevX = prevY = 0;
  16.     addMouseListener (this);
  17.     addMouseMotionListener (this);
  18.  
  19.     popup = new PopupMenu ();
  20.     Menu colours = new Menu ("Colour");
  21.  
  22.     String [] colNames = { "Black", "Red", "Green", "Blue" };
  23.     for (int i = 0; i < colNames.length; i++)
  24.     {
  25.       MenuItem mi = new MenuItem (colNames [i]);
  26.       mi.addActionListener (this);
  27.       colours.add (mi);
  28.     }
  29.  
  30.     popup.add (colours);
  31.     add (popup);
  32.   }
  33.  
  34.   public void processMouseEvent (MouseEvent e)
  35.   {
  36.     if (e.isPopupTrigger ())
  37.       popup.show (this, e.getX (), e.getY ());
  38.     else if (e.getID () == MouseEvent.MOUSE_PRESSED)
  39.     {
  40.       prevX = e.getX ();
  41.       prevY = e.getY ();
  42.     }
  43.   }
  44.  
  45.   public void mouseDragged (MouseEvent e)
  46.   {
  47.     Graphics g = getGraphics ();
  48.     int x = e.getX ();
  49.     int y = e.getY ();
  50.  
  51.     g.setColor (col);
  52.     g.drawLine (prevX, prevY, x, y);
  53.     prevX = x;
  54.     prevY = y;
  55.   }
  56.  
  57.   public void mouseReleased (MouseEvent e) {}
  58.   public void mousePressed (MouseEvent e) {}
  59.   public void mouseClicked (MouseEvent e) {}
  60.   public void mouseEntered (MouseEvent e) {}
  61.   public void mouseExited (MouseEvent e) {}
  62.   public void mouseMoved (MouseEvent e) {}
  63.  
  64.   public void actionPerformed (ActionEvent event)
  65.   {
  66.     String command = event.getActionCommand ();
  67.     if (command.equals ("Black"))
  68.       col = Color.black;
  69.     else if (command.equals ("Red"))
  70.       col = Color.red;
  71.     else if (command.equals ("Green"))
  72.       col = Color.green;
  73.     else if (command.equals ("Blue"))
  74.       col = Color.blue;
  75.   }
  76. }
  77.