飞行文字
程序员文章站
2022-07-13 23:18:25
...
最近写了一段飞行文字代码
/* 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); } }
上一篇: 结构体内存对齐
下一篇: C 语言数组指针和指针数组