Source of BannerApplet.java


  1: import java.applet.*;
  2: import java.awt.*;
  3: import java.awt.event.*;
  4: import java.awt.font.*;
  5: import java.awt.geom.*;
  6: import javax.swing.*;

  8: public class BannerApplet extends Applet
  9: {
 10:    public void init()
 11:    {
 12:       message = getParameter("message");
 13:       String fontname = getParameter("fontname");
 14:       int fontsize = Integer.parseInt(getParameter("fontsize"));
 15:       delay = Integer.parseInt(getParameter("delay"));
 16:       font = new Font(fontname, Font.PLAIN, fontsize);
 17:       Graphics2D g2 = (Graphics2D) getGraphics();
 18:       FontRenderContext context = g2.getFontRenderContext();
 19:       bounds = font.getStringBounds(message, context);
 20:       
 21:       timer = new Timer(delay, new
 22:          ActionListener()
 23:          {
 24:             public void actionPerformed(ActionEvent event)
 25:             {
 26:                start--;
 27:                if (start + bounds.getWidth() < 0) 
 28:                   start = getWidth();
 29:                repaint();
 30:             }
 31:          });
 32:    }

 34:    public void start()
 35:    {
 36:       timer.start();
 37:    }

 39:    public void stop()
 40:    {
 41:       timer.stop();
 42:    }

 44:    public void paint(Graphics g)
 45:    {
 46:       g.setFont(font);
 47:       g.drawString(message, start, (int) -bounds.getY());
 48:    }

 50:    private Timer timer;
 51:    private int start;
 52:    private int delay;
 53:    private String message;
 54:    private Font font;
 55:    private Rectangle2D bounds;
 56: }