public class BannerApplet extends Applet
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: }