[JAVA100例]073、传递参数

来源:互联网 发布:最美的诗 知乎 编辑:程序博客网 时间:2024/06/06 08:41
[JAVA100例]073、传递参数

import java.awt.*;
import java.applet.*;
/**
 * <p>Title: 带阴影的文字</p>
 * <p>Description: 使用Applet和Graphics,实现一个文字的移动广告。</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Filename: ShadowText.java</p>
 * @version 1.0
 */
public class ShadowText extends Applet implements Runnable
{
  private Image img;
  private Image offI;
  private Graphics offG;
  private Thread thread = null;
 
 
  private int height,width;
  private String text;
  private int FontSize;
  private Font font;
  private int textcolor, backcolor, shadowcolor;
/**
 *<br>方法说明:Applet初始化,浏览器加载Applet是调用。
 *<br>输入参数:
 *<br>返回类型:
 */ 
  public void init()
  {   
    width = this.size().width;
    height = this.size().height;
    //获取显示信息
    String s = new String(getParameter("Text"));
   
    text = new String("Hello");
    if(s != null)
      text = s;
    //获取字体大小
    FontSize = 30;
    s = new String(getParameter("FontSize"));
    if(s != null)
      FontSize = Integer.parseInt(s);
    //获得字体颜色
    s = getParameter("Fore");
    textcolor = (s==null) ? 0x000000 : Integer.parseInt(s, 16);
    //获取背景颜色
    s = getParameter("Back");
    backcolor = (s==null) ? 0x000000 : Integer.parseInt(s, 16);
    //获取阴影颜色
    s = getParameter("shadow");
    shadowcolor = (s==null) ? 0x000000 : Integer.parseInt(s, 16);
    //设置背景颜色
    this.setBackground(new Color(backcolor));
    //使用Graphics创建一张图片
    img = createImage(width+300,height);
    Graphics temp = img.getGraphics();
    temp.setColor(new Color(backcolor));
    temp.fillRect(0,0,width,height);
    temp.setColor(new Color(shadowcolor));
    font = new Font("TimesRoman",Font.BOLD,FontSize);
    temp.setFont(font);
    temp.drawString(text,10,height*3/4);
   
    temp.setColor(new Color(textcolor));
    temp.drawString(text,10-3,height*3/4 - 3);
   
    //构造可控制的图片对象         
    offI = createImage(width,height);
    offG = offI.getGraphics();
   
  }
/**
 *<br>方法说明:重载start()方法,启动线程
 *<br>输入参数:
 *<br>返回类型:
 */ 
  public void start()
  {
    if(thread == null)
    {
      thread = new Thread(this);
      thread.start();
    }
  }
/**
 *<br>方法说明:线程体。绘制屏幕
 *<br>输入参数:
 *<br>返回类型:
 */ 
  public void run()
  {
    int x=width;
    while(thread != null)
    {
      try
      {
        offG.drawImage(img,x,0,this);
        repaint();
        thread.sleep(20);
      }
      catch(InterruptedException e){}

      x-=3;
      if(x < -img.getWidth(this))
      {
        x = width;
      }

    }
  }
/**
 *<br>方法说明:Appletg更新画面调用的方法
 *<br>输入参数:Graphics g 绘图对象
 *<br>返回类型:
 */ 
  public void update(Graphics g)
  {
    paint(g);
  }
/**
 *<br>方法说明:Applet绘制屏幕的方法
 *<br>输入参数:
 *<br>返回类型:
 */ 
  public void paint(Graphics g)
  {
    g.drawImage(offI,0,0,this);
  }


}

原创粉丝点击