home *** CD-ROM | disk | FTP | other *** search
/ Java by Example / jbecd.bin / JBE-CD / NTUsers / JBECODE.ZIP / JavaByExample / chap21 / CanvasApplet.java < prev    next >
Encoding:
Java Source  |  1996-03-07  |  1.1 KB  |  60 lines

  1. import java.awt.*;
  2. import java.applet.*;
  3.  
  4. public class CanvasApplet extends Applet
  5. {
  6.     CustomCanvas canvas;
  7.  
  8.     public void init()
  9.     {
  10.         setLayout(new BorderLayout());
  11.  
  12.         Button button = new Button("Color");
  13.         add("North", button);
  14.  
  15.         canvas = new CustomCanvas();
  16.         add("Center", canvas);
  17.  
  18.         resize(200, 250);
  19.     }
  20.  
  21.     public boolean action(Event evt, Object arg)
  22.     {
  23.         if (arg == "Color")
  24.             canvas.swapColor();
  25.  
  26.         return true;
  27.     }
  28. }
  29.  
  30. class CustomCanvas extends Canvas
  31. {
  32.     Color color;
  33.  
  34.     public CustomCanvas()
  35.     {
  36.         color = Color.black;
  37.     }
  38.  
  39.     public void paint(Graphics g)
  40.     {
  41.         Rectangle r = bounds();
  42.         g.setColor(color);
  43.         g.fillRect(0, 0, r.width, r.height);
  44.         g.setColor(Color.white);
  45.         g.drawString("CANVAS", 72, 90);
  46.     }
  47.  
  48.     public void swapColor()
  49.     {
  50.         if (color == Color.black)
  51.             color = Color.red;
  52.         else if (color == Color.red)
  53.             color = Color.green;
  54.         else
  55.             color = Color.black;
  56.  
  57.         repaint();
  58.     }
  59. }
  60.