import java.awt.*;
import java.applet.*;
//Download by http://www.codefans.net
//波浪文字
public class WaveTextApplet extends Applet implements Runnable {
String message; //显示文本
int direct,phase; //运动方向参数
Thread thread; //波浪运动线程
char words[]; //显示文本的字符数组
Image image; //Image对象
Graphics graphics; //Graphics对象
Color colors[]; //显示文本颜色
private Font font; //显示字体
private FontMetrics fontMetric; //显示字体的 FontMetrics对象
public void init() {
direct=1; //初始方向值
phase = 0;
message = getParameter("Text"); //得以显示文本
if (message==null){ //如果文本为空
message="波浪文字"; //设置默认文本
}
setBackground(Color.black); //设置背景色
words = new char [message.length()]; //初始化显示字符数组
message.getChars(0,message.length(),words,0);
image = createImage(getSize().width,getSize().height); //得到Image实例
graphics = image.getGraphics(); //得到Graphics实例
font = new Font("TimesRoman",Font.BOLD,36); //设置显示字体
fontMetric=getFontMetrics(font); //得到字体的FontMetric对象
graphics.setFont(font); //设置显示字体
float h;
colors = new Color[message.length()]; //初始化颜色数组
for (int i = 0; i < message.length(); i++) {
h = ((float)i)/((float)message.length());
colors[i] = new Color(Color.HSBtoRGB(h,1.0f,1.0f)); //填充颜色数组数据
}
}
public void start() {
if(thread == null) {
thread = new Thread(this); //实例化线程
thread.start(); //运行线程
}
}
public void run() {
while (thread != null) {
try {
Thread.sleep(200); //线程休眠
}catch (InterruptedException e) {
}
repaint(); //重绘屏幕
}
}
public void update(Graphics g) {
int x, y; //显示字符的X坐标,Y坐标
double ang;
int Hrad = 12;
int Vrad = 12;
graphics.setColor(Color.black); //设置当前颜色
graphics.fillRect(0,0,getSize().width,getSize().height); //填充背景
phase+=direct;
phase%=8;
for(int i=0;i<message.length();i++) {
ang = ((phase-i*direct)%8)/4.0*Math.PI; //运动角度
x = 20+fontMetric.getMaxAdvance()*i+(int)(Math.cos(ang)*Hrad); //字符的X坐标
y = 60+ (int) (Math.sin(ang)*Vrad); //字符的Y坐标
graphics.setColor(colors[(phase+i)%message.length()]); //设置文本颜色
graphics.drawChars(words,i,1,x,y); //显示字符
}
g.drawImage(image,0,0,this); //绘制Image
}
public void paint(Graphics g) {
update(g);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于java的开发源码-波浪文字制作方法及源代码.zip
共5个文件
bmp:2个
html:1个
class:1个
0 下载量 65 浏览量
2024-02-19
23:36:13
上传
评论
收藏 19KB ZIP 举报
温馨提示
java 基于java的开发源码-波浪文字制作方法及源代码.zip 基于java的开发源码-波浪文字制作方法及源代码.zip 基于java的开发源码-波浪文字制作方法及源代码.zip 基于java的开发源码-波浪文字制作方法及源代码.zip 基于java的开发源码-波浪文字制作方法及源代码.zip 基于java的开发源码-波浪文字制作方法及源代码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于java的开发源码-波浪文字制作方法及源代码.zip (5个子文件)
codefans.net
Java波浪文字
WaveTextApplet.class 3KB
WaveText.HTML 195B
34-2.bmp 237KB
WaveTextApplet.java 3KB
34-1.bmp 237KB
共 5 条
- 1
资源评论
易小侠
- 粉丝: 6449
- 资源: 9万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功