home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 March / PCWK0397.iso / novell / webserv3 / docs / tools / java / counter / counter.jav < prev    next >
Text File  |  1996-12-10  |  3KB  |  72 lines

  1. import java.awt.*;
  2. import java.net.*;
  3. import java.lang.Math;
  4. import java.lang.Integer;
  5. import java.util.Date;
  6.  
  7. public class Counter extends java.applet.Applet
  8. {
  9.   Color  bgcolor,
  10.          fontcolor;
  11.   String count;
  12.  
  13.   public Color nameToColor(String name) {  //This function converts a color name String to a Color
  14.     //This takes a string form of a color name and converts it to a color
  15.     Color color;
  16.     if (name.equalsIgnoreCase("blue")) color = Color.blue;
  17.     else if (name.equalsIgnoreCase("cyan")) color = Color.cyan;
  18.     else if (name.equalsIgnoreCase("darkGray")) color = Color.darkGray;
  19.     else if (name.equalsIgnoreCase("darkGrey")) color = Color.darkGray;
  20.     else if (name.equalsIgnoreCase("gray")) color = Color.gray;
  21.     else if (name.equalsIgnoreCase("grey")) color = Color.gray;
  22.     else if (name.equalsIgnoreCase("green")) color = Color.green;
  23.     else if (name.equalsIgnoreCase("lightGray")) color = Color.lightGray;
  24.     else if (name.equalsIgnoreCase("lightGrey")) color = Color.lightGray;
  25.     else if (name.equalsIgnoreCase("magenta")) color = Color.magenta;
  26.     else if (name.equalsIgnoreCase("orange")) color = Color.orange;
  27.     else if (name.equalsIgnoreCase("pink")) color = Color.pink;
  28.     else if (name.equalsIgnoreCase("red")) color = Color.red;
  29.     else if (name.equalsIgnoreCase("white")) color = Color.white;
  30.     else if (name.equalsIgnoreCase("yellow")) color = Color.yellow;
  31.     else color = Color.black;
  32.     return color;
  33.   } // end of Counter.Color(String)
  34.  
  35.   public void init() {  //init routine gets variables and initializes variables
  36.     String tstr;
  37.     Integer tmpcount;
  38.     // Determine the count value
  39.     tstr = getParameter("count");
  40.     if (tstr == null)
  41.       count = String.valueOf(0);
  42.     else {
  43.       tmpcount = new Integer(tstr);
  44.       count = String.valueOf(tmpcount.intValue());
  45.     }
  46.     // Determine the background color
  47.     tstr = getParameter("bgcolor");
  48.     if (tstr == null) tstr="white";
  49.     this.bgcolor = nameToColor(tstr);
  50.     // Determine the font color
  51.     tstr = getParameter("fontcolor");
  52.     if (tstr == null) tstr="black";
  53.     this.fontcolor = nameToColor(tstr);
  54.   } // end of public void Counter.init()
  55.  
  56.   public void paint(Graphics g) {   //paint routine for applet
  57.     int         fontsize = this.size().height < this.size().width ?
  58.                   this.size().height-1 : this.size().width-1;
  59.     Font        f = new Font("TimesRoman", Font.PLAIN, fontsize);
  60.     FontMetrics fm = getFontMetrics(f);
  61.     int         strwidth = fm.stringWidth(count) + 4;
  62.  
  63.     g.setColor(this.bgcolor);
  64.     g.fillRect(0, 0, this.size().width-1, this.size().height-1);
  65.     g.setColor(this.fontcolor);
  66.     g.setFont(f);
  67.     g.drawString(count, this.size().width - strwidth, 
  68.       this.size().height / 2 + fm.getDescent());
  69.   } // end of public void Counter.paint(Graphics)
  70.  
  71. } // end of public class Counter
  72.