📄 source.html
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>源程序</title>
</head>
<body bgcolor="#0000FF">
<p><b><font face="幼圆" size="6" color="#FFFF00">源程序如下:</font></b></p>
<hr size="3" color="#FF0000">
<p> </p>
<p><b><font size="5" face="Courier" color="#FFFFFF">//<applet code=lyj.class width=600 height=400></applet><br>
import java.awt.*;<br>
import java.applet.*;<br>
import java.awt.event.*;<br>
public class lyj extends Applet implements Runnable<br>
{<br>
Cursor c=new Cursor(Cursor.HAND_CURSOR);</font><font color="#FF00FF"><font size="5" face="Courier">//</font><font size="5">定义鼠标类型为手状</font></font><font size="5" face="Courier" color="#FFFFFF"><br>
Thread t=null;</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">定义线程</font><font size="5" face="Courier" color="#FFFFFF"><br>
Image imgs[]=new Image[19];</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">定义图片数组,用以存放图片</font><font size="5" face="Courier" color="#FFFFFF"><br>
String text="</font><font size="5" color="#FFFFFF">神秘太空</font><font size="5" face="Courier" color="#FFFFFF">---</font><font size="5" color="#FFFFFF">刘雅静
</font><font size="5" face="Courier" color="#FFFFFF"> ";<br>
int len=text.length();</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">得到字符串的长度</font><font size="5" face="Courier" color="#FFFFFF"> <br>
int n=0,num=0;</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">变量</font><font size="5" face="Courier" color="#FF00FF">n</font><font size="5" color="#FF00FF">用以控制图片的显示</font><font size="5" face="Courier" color="#FF00FF">,</font><font size="5" color="#FF00FF">变量</font><font size="5" face="Courier" color="#FF00FF">num</font><font size="5" color="#FF00FF">用以控制字符串的逐字显示</font><font size="5" face="Courier" color="#FFFFFF"><br>
MediaTracker tracker;</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">媒体跟踪器</font><font size="5" face="Courier" color="#FFFFFF"><br>
Image offimg;</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">双缓冲中的</font><font size="5" face="Courier" color="#FF00FF">Image</font><font size="5" face="Courier" color="#FFFFFF"><br>
Graphics offg;</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">双缓冲中的图形上下文</font><font size="5" face="Courier" color="#FFFFFF"><br>
AudioClip ad;</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">定义声音</font><font size="5" face="Courier" color="#FFFFFF"><br>
public void stop()<br>
{<br>
if(t!=null)<br>
{t.stop();<br>
t=null;<br>
}<br>
if(ad!=null)<br>
{<br>
ad.stop();<br>
ad=null;<br>
}<br>
}<br>
public void init()<br>
{<br>
tracker=new MediaTracker(this);<br>
setSize(600,400);<br>
ad=getAudioClip(getCodeBase(),"space.au");</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">加载声音</font><font size="5" face="Courier" color="#FFFFFF"><br>
for(int i=0;i<19;i++)<br>
{imgs[i]=getImage(getCodeBase(),String.valueOf(i+1)+".jpg");</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">加载图片</font><font size="5" face="Courier" color="#FFFFFF"><br>
tracker.addImage(imgs[i],0);</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">跟踪图片</font><font size="5" face="Courier" color="#FFFFFF"><br>
showStatus("Loading "+(i+1)+"Picture");<br>
}<br>
this.setCursor(c);</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">设置鼠标样式</font><font size="5" face="Courier" color="#FFFFFF"><br>
this.addMouseListener(new lister(this));</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">注册鼠标事件</font><font size="5" face="Courier" color="#FFFFFF"><br>
try<br>
{<br>
tracker.waitForID(0);</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">等待图片的加载完成</font><font size="5" face="Courier" color="#FFFFFF"><br>
}<br>
catch(Exception e){}<br>
offimg=createImage(600,400);</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">创建缓冲区</font><font size="5" face="Courier" color="#FFFFFF"><br>
offg=offimg.getGraphics();</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">得到绘图设备</font><font size="5" face="Courier" color="#FFFFFF"><br>
<br>
}<br>
public void run()</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">线程执行块</font><font size="5" face="Courier" color="#FF00FF"><br>
</font><font size="5" face="Courier" color="#FFFFFF">
{<br>
while(t==Thread.currentThread())<br>
{<br>
try<br>
{<br>
repaint();<br>
t.sleep(800);</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">线程睡眠</font><font size="5" face="Courier" color="#FF00FF">800</font><font size="5" color="#FF00FF">毫秒</font><font size="5" face="Courier" color="#FFFFFF"><br>
num++;</font><font size="5" face="Courier" color="#FF00FF">//num</font><font size="5" color="#FF00FF">加一</font><font size="5" face="Courier" color="#FFFFFF"><br>
n++;</font><font size="5" face="Courier" color="#FF00FF">//n</font><font size="5" color="#FF00FF">加一</font><font size="5" face="Courier" color="#FFFFFF"><br>
if(n>18)</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">判断</font><font size="5" face="Courier" color="#FF00FF">n</font><font size="5" color="#FF00FF">值是否到达上限,若是,则</font><font size="5" face="Courier" color="#FF00FF">n</font><font size="5" color="#FF00FF">值复位</font><font size="5" face="Courier" color="#FFFFFF"><br>
n=0;<br>
if(num>len-1)</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">判断</font><font size="5" face="Courier" color="#FF00FF">num</font><font size="5" color="#FF00FF">值是否到达上限,若是,则</font><font size="5" face="Courier" color="#FF00FF">num</font><font size="5" color="#FF00FF">值复位</font><font size="5" face="Courier" color="#FFFFFF"><br>
n=0;<br>
num=0; <br>
}catch(Exception e){}<br>
<br>
}<br>
}<br>
<br>
class lister extends MouseAdapter</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">鼠标事件处理类,采用的是外部类,并非内部类(这是常规作法)</font><font size="5" face="Courier" color="#FFFFFF"><br>
{<br>
lyj list;<br>
lister(lyj list)<br>
{<br>
this.list=list;<br>
}<br>
public void mouseEntered(MouseEvent e)</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">鼠标移进时的处理</font><font size="5" face="Courier" color="#FFFFFF"><br>
{<br>
if(t==null)<br>
{<br>
t=new Thread(list);<br>
t.start();<br>
ad.loop();<br>
}<br>
}<br>
public void mouseExited(MouseEvent e)</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">鼠标移出时的处理</font><font size="5" face="Courier" color="#FFFFFF"><br>
{<br>
if(t!=null)<br>
{t.stop();<br>
t=null;<br>
ad.stop();<br>
}<br>
}<br>
}<br>
public void paint(Graphics g)<br>
{<br>
float rr=(float)Math.random();</font><font size="5" face="Courier" color="#FF00FF">/*</font><font size="5" color="#FF00FF">得到</font><font size="5" face="Courier" color="#FF00FF">rr,gg,bb</font><font size="5" face="Courier" color="#FFFFFF"><br>
float gg=(float)Math.random();</font><font size="5" color="#FF00FF">三个随机数,</font><font size="5" face="Courier" color="#FFFFFF"><br>
float bb=(float)Math.random();</font><font size="5" color="#FF00FF">用以构造变化</font><font size="5" face="Courier" color="#FFFFFF"><br>
Color c=new Color(rr,gg,bb); </font><font size="5" color="#FFFFFF"> </font><font size="5" color="#FF00FF">的颜色对象</font><font size="5" face="Courier" color="#FF00FF">*/</font><font size="5" face="Courier" color="#FFFFFF"><br>
g.drawImage(imgs[n],0,0,this);</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">绘制图片</font><font size="5" face="Courier" color="#FFFFFF"><br>
g.setColor(c);<br>
g.setFont(new Font("</font><font size="5" color="#FFFFFF">隶书</font><font size="5" face="Courier" color="#FFFFFF">",Font.BOLD,40));<br>
g.drawString(text.substring(0,num),50,360);</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">绘制字符串</font><font size="5" face="Courier" color="#FFFFFF"><br>
}<br>
public void update(Graphics g)</font><font size="5" face="Courier" color="#FF00FF">//</font><font size="5" color="#FF00FF">利用双缓冲消除闪烁</font><font size="5" face="Courier" color="#FFFFFF"><br>
{<br>
if(offg!=null)<br>
{paint(offg);<br>
g.drawImage(offimg,0,0,this);<br>
}<br>
else<br>
paint(g);<br>
}<br>
}<br>
</font></b></p>
<hr size="3" color="#FF0000">
<p><b><font size="5" face="Courier" color="#FFFFFF"><br>
</font></b></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -