⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000004.htm

📁 水木清华BBS
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;andrewleu&nbsp;(Andy),&nbsp;信区:&nbsp;Java&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;An&nbsp;applet&nbsp;written&nbsp;by&nbsp;me&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Fri&nbsp;May&nbsp;&nbsp;1&nbsp;09:12:47&nbsp;1998)&nbsp;WWW-POST&nbsp;<BR>&nbsp;<BR>
&nbsp;<BR>/*
&nbsp;<BR>这是我写的一个小程序
&nbsp;<BR>类似xwindows中的Xeyes
&nbsp;<BR>希望你能喜欢
&nbsp;<BR>*/
&nbsp;<BR>/*
&nbsp;<BR>&lt;html&gt;
&nbsp;<BR>&lt;head&gt;
&nbsp;<BR>&lt;title&gt;The&nbsp;J&nbsp;Eyes&nbsp;&lt;/title&gt;
&nbsp;<BR>&lt;!created&nbsp;by&nbsp;Liu&nbsp;Shu,&nbsp;28-Apr-1998&nbsp;--&gt;
&nbsp;<BR>&lt;/head&gt;
&nbsp;<BR>&lt;applet&nbsp;code=&quot;Jeyes.class&quot;&nbsp;width=500&nbsp;height=300&gt;
&nbsp;<BR>&lt;/applet&gt;
&nbsp;<BR>&lt;font&nbsp;SIZE=&quot;-1&quot;&nbsp;FACE=&quot;Arial&quot;&gt;&lt;a&nbsp;HREF=&quot;<A HREF="mailto:mailto:andrewleu@hotmail.com">andrewleu@hotmail.com</a></font>
">mailto:andrewleu@hotmail.com">andrewleu@hotmail.com</a></font>
</A>&nbsp;<BR>&lt;/html&gt;
&nbsp;<BR>**/
&nbsp;<BR>
&nbsp;<BR>import&nbsp;java.applet.*;
&nbsp;<BR>import&nbsp;java.awt.*;
&nbsp;<BR>import&nbsp;java.lang.Math;
&nbsp;<BR>
&nbsp;<BR>public&nbsp;class&nbsp;Jeyes&nbsp;extends&nbsp;Applet&nbsp;implements&nbsp;Runnable&nbsp;
&nbsp;<BR>{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Dimension&nbsp;d;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Thread&nbsp;motor&nbsp;;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Image&nbsp;offScreen;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;offScreenGraphics;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;loaded&nbsp;;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;w&nbsp;&nbsp;&nbsp;&nbsp;,&nbsp;h;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;x,&nbsp;y;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;//mouse&nbsp;Position
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;first=true;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;eyeX,eyeY;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;//eyeball&nbsp;position
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;init(){
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d=this.size();
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;w=d.width;h=d.height;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreen=createImage(w,h);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics=offScreen.getGraphics();
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>public&nbsp;void&nbsp;&nbsp;&nbsp;&nbsp;paint(Graphics&nbsp;g)
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;leftCoX,leftCoY,rightCoX,rightCoY;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;arcLeft,arcRight;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(first)
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(Color.black);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.fillOval(20,20,w/2-40,h-40);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.fillOval(w/2+20,20,w/2-40,h-40);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(Color.white);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.fillOval(35,35,w/2-70,h-70);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.fillOval(w/2+35,35,w/2-70,h-70);//&nbsp;Eyes
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(Color.black);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.fillOval(w/4,&nbsp;h/2,50,50);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.fillOval(3*w/4,h/2,50,50);&nbsp;&nbsp;//Eye&nbsp;balls
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first=false;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics.setColor(Color.black);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics.fillOval(20,20,w/2-40,h-40);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics.fillOval(w/2+20,20,w/2-40,h-40);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics.setColor(Color.white);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics.fillOval(35,35,w/2-70,h-70);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics.fillOval(w/2+35,35,w/2-70,h-70);&nbsp;&nbsp;//Eyes&nbsp;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics.setColor(Color.black);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;next&nbsp;line&nbsp;to&nbsp;calculate&nbsp;the&nbsp;arc&nbsp;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;leftCoX=x-w/4;leftCoY=y-h/2;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rightCoX=x-3*w/4;rightCoY=y-h/2;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arcLeft=(float)&nbsp;Math.atan((double)leftCoY/leftCoX);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(leftCoX&lt;0)&nbsp;arcLeft+=3.1415926;//since&nbsp;atan&nbsp;result&nbsp;is&nbsp;between&nbsp;-pi/2&nbsp;--p/2
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arcRight=(float)Math.atan((double)rightCoY/rightCoX);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(rightCoX&lt;0)&nbsp;arcRight+=3.1415926;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eyeBallPosition(leftCoX&nbsp;,leftCoY,arcLeft);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics.fillOval(w/4+eyeX-25,h/2+eyeY-25,50,50);
&nbsp;<BR>
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eyeBallPosition(rightCoX,rightCoY,arcRight);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offScreenGraphics.fillOval(3*w/4+eyeX-25,h/2+eyeY-25,50,50);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//offScreenGraphics.fillOval(w/4,&nbsp;h/2,50,50);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//offScreenGraphics.fillOval(3*w/4,h/2,50,50);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Eye&nbsp;balls
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawImage(offScreen,0,0,null);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>public&nbsp;void&nbsp;eyeBallPosition(int&nbsp;CoX,&nbsp;int&nbsp;CoY,&nbsp;float&nbsp;Arc)
&nbsp;<BR>{
&nbsp;<BR>if((CoX*CoX+CoY*CoY)&lt;h/5*h/5)
&nbsp;<BR>//the&nbsp;mouse&nbsp;in&nbsp;the&nbsp;eye&nbsp;pit
&nbsp;<BR>&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eyeX=CoX;eyeY=CoY;
&nbsp;<BR>&nbsp;&nbsp;}
&nbsp;<BR>else
&nbsp;<BR>&nbsp;&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eyeX=(int)(Math.cos((double)Arc)*h/5);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eyeY=(int)(Math.sin((double)Arc)*h/5);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>}&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<BR>public&nbsp;void&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;update(Graphics&nbsp;g)
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;paint(g);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;run()
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(true)
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//mouseMove(new&nbsp;Event&nbsp;e,&nbsp;new&nbsp;int&nbsp;x,new&nbsp;int&nbsp;y);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repaint();
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;motor.sleep(100);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception&nbsp;e)
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(&quot;Exception\n&quot;);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;start()
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;motor=new&nbsp;Thread(this);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;motor.setPriority(Thread.MIN_PRIORITY);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;motor.start();
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;stop()
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>public&nbsp;boolean&nbsp;&nbsp;&nbsp;mouseMove(Event&nbsp;e,int&nbsp;X,int&nbsp;Y)
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x=X;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y=Y;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//System.out.println(&quot;x=&quot;+x+&quot;&nbsp;&nbsp;&quot;+&quot;y=&quot;+y);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(true);
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;<BR>}
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<BR>
&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>爱在不言中......&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;202.99.61.172]&nbsp;&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -