欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java Applet: 绘制文本动画,javaapplet,import java.

来源: javaer 分享于  点击 11781 次 点评:76

Java Applet: 绘制文本动画,javaapplet,import java.


import java.applet.*;import java.awt.*;public class WalkingText extends Applet implements Runnable {   protected String mesg = null;   protected int  xloc, yloc, width, height, textWidth, textHeight;   protected Thread t;   protected boolean done = false;   /** How long to nap for each move */   protected int napTime = 150;   /** Applet Initializer */   public void init() {      xloc = 0;      width = getSize().width;      height = getSize().height;      if ((mesg = getParameter("text")) == null)         mesg = "Hello World of Java";      String pSize = getParameter("fontsize");      if (pSize == null)         pSize = "12";      String fontName = getParameter("fontName");      if (fontName == null)         fontName = "Helvetica";      // System.out.println("Font is " + pSize + " point " + fontName);      Font f = new Font(fontName, Font.PLAIN, Integer.parseInt(pSize));      setFont(f);      FontMetrics fm = getToolkit().getFontMetrics(f);      textWidth = fm.stringWidth(mesg);      textHeight = fm.getHeight();      // System.out.println("TextWidth " + textWidth + ", ht " + textHeight);      // use textHeight in y coordinate calculation      yloc = height - ((height-textHeight) / 2);   }   /** This is important: we create a thread, so we must kill it */   public void stop() {      done = true;      t = null;   }   /** create the thread and start it. */   public void start() {      if (t == null)         t = new Thread(this);      done = false;      t.start();   }   // Usage:   public String[][] getParameterInfo() {      String[][] params = {         { "text", "text", "Text to walk across the screen" },         { "fontName", "text", "Name of font to display in" },         { "fontsize", "int", "How big to make the text" },      };      return params;   }   /** Run is called by the Thread class when there is work to do */   public void run() {      while (!done) {         if ((xloc+=5) > getSize().width)            xloc = 0;         repaint();         try {            Thread.sleep(napTime);         } catch (Exception e) {            System.out.println("Who dares to interrupt my Sleep()? " + e);         };      }   }   /** Paint is called by Applet to redraw the screen */   public void paint(Graphics g) {      g.drawString(mesg, xloc, yloc);      // if ((xloc + textWidth) > getSize().width) {      //    int negLoc = textWidth-(width-xloc);      //    System.out.println("xloc, textWidth, negLoc: " + xloc + "," +      //          textWidth + ", " + negLoc);      //    g.drawString(mesg, negLoc, yloc);      // }   }}//该片段来自于http://byrx.net
相关栏目:

用户点评