home *** CD-ROM | disk | FTP | other *** search
/ Java by Example / jbecd.bin / JBE-CD / NTUsers / JBECODE.ZIP / JavaByExample / chap21 / CanvasApplet2.java < prev    next >
Text File  |  1996-03-08  |  1KB  |  70 lines

  1. import java.awt.*;
  2. import java.applet.*;
  3.  
  4. public class CanvasApplet2 extends Applet
  5. {
  6.     MyCanvas canvas;
  7.  
  8.     public void init()
  9.     {
  10.         GridLayout layout = new GridLayout(2, 1, 10, 10);
  11.         setLayout(layout);
  12.     
  13.         canvas = new MyCanvas();
  14.         Panel panel = new Panel();
  15.  
  16.         Button button1 = new Button("Black");
  17.         Button button2 = new Button("Green");
  18.         Button button3 = new Button("Red");
  19.  
  20.         add(canvas);
  21.         add(panel);
  22.  
  23.         panel.add(button1);
  24.         panel.add(button2);
  25.         panel.add(button3);
  26.  
  27.         resize(200, 250);
  28.     }
  29.  
  30.     public boolean action(Event evt, Object arg)
  31.     {
  32.         if (evt.target instanceof Button)
  33.         {
  34.             if (arg == "Black")
  35.                 canvas.swapColor(Color.black);
  36.             else if (arg == "Green")
  37.                 canvas.swapColor(Color.green);
  38.             else
  39.                 canvas.swapColor(Color.red);
  40.         }
  41.  
  42.         return true;
  43.     }
  44. }
  45.  
  46. class MyCanvas extends Canvas
  47. {
  48.     Color color;
  49.  
  50.     public MyCanvas()
  51.     {
  52.         color = Color.black;
  53.     }
  54.  
  55.     public void paint(Graphics g)
  56.     {
  57.         Rectangle r = bounds();
  58.         g.setColor(color);
  59.         g.fillRect(0, 0, r.width, r.height);
  60.         g.setColor(Color.white);
  61.         g.drawString("CANVAS", 72, 60);
  62.     }
  63.  
  64.     public void swapColor(Color color)
  65.     {
  66.         this.color = color;
  67.         repaint();
  68.     }
  69. }
  70.