欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

飞行文字

程序员文章站 2022-07-13 23:22:48
...

最近写了一段飞行文字代码

 /* dkplus专业搜集和编写实用电脑软件教程,搜集各种软件资源和计算机周边(java网络编程,seo网站优化,web开发,lnmp,java网络编程,毕业论文设计),独立制作视频和ppt和音频微信公众号,点击进入 dkplus官方博客http://dkplus.iteye.com 微信搜索dkplus关注公众号可获取海量计算机周边资源。 */
import java.awt.*;
import java.applet.*;

public class FlyTextApplet extends Applet implements Runnable{
   
   Image image; //该Applet的Image对象
   Graphics graphics; //该Applet的Graphics对象
   Font font; //显示字体
   String message; //显示文本
   Thread thread; //飞行运动线程
   int xpos, ypos, fontsize; //X坐标,Y坐标及字体大小
   
   public void init(){   
      image = createImage(getSize().width, getSize().height);   //得到Image实例
      graphics = image.getGraphics();  //得到Graphics实例
      message = getParameter("Text"); //得到文本参数
      if(message == null){ //如果显示文本为空
         message = "飞行文字"; //设置默认文本
       }
      font = new Font("TimesRoman", Font.BOLD, 10);  //实例化字体
   }
   
   public void start(){
      if(thread == null){
         thread =  new Thread(this);  //实例化线程
         thread.start(); //运行线程
      }
   }
   
   public void run(){
      while(thread != null){         
         if(fontsize >getSize().height) //如果字体尺寸过大
            fontsize = 0; //重设字体尺寸
         try{
            Thread.sleep(50); //线程休眠
         }catch (InterruptedException e) {}
         repaint(); //重绘屏幕
      }      
   }
   
   public void stop(){
   		thread=null;
   }
   
   public void update(Graphics g){
   	graphics.setColor(Color.black); //设置当前颜色
      graphics.fillRect(0,0,getSize().width, getSize().height); //填充背景
      font = new Font("TimesRoman", Font.BOLD, fontsize); //得到字体实例
      graphics.setFont(font); //设置字体
      graphics.setColor(Color.pink); //设置当前颜色
      FontMetrics fontMetrics = graphics.getFontMetrics(font); //得到字体的FontMetrics对象
      int fontheight = fontMetrics.getHeight(); //得到字体高度
      int width; //字体宽度
      int baseline = getSize().height / 2 + fontheight / 2;  //显示文本基线
      
      width = fontMetrics.stringWidth(message);  //字符串宽度   
      width = (getSize().width - width) / 2;  //显示字符串宽度
      
      graphics.drawString(message, width, baseline-=20);   //绘制字符串
      g.drawImage(image,0,0, this); //绘制Image对象
      fontsize++;  //增加字体尺寸      
   }
   
   public void paint(Graphics g){
      update(g);
   }  

}

 

相关标签: java 编程 web