java编程实例模拟钢琴

java编程实例模拟钢琴

ID:1204978

大小:70.50 KB

页数:8页

时间:2017-11-08

java编程实例模拟钢琴_第1页
java编程实例模拟钢琴_第2页
java编程实例模拟钢琴_第3页
java编程实例模拟钢琴_第4页
java编程实例模拟钢琴_第5页
资源描述:

《java编程实例模拟钢琴》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Java编程实例模拟钢琴本例知识点一句话讲解新学知识使用AudioClip类播放声音使用MouseEvent类处理鼠标事件已学知识使用Image类制作图片使用Frame类制作界面框架一、练习具体要求本练习制作模拟钢琴的实例。如图98-1所示,程序执行后,创建一个带有模拟钢琴键盘的面板,用户可以通过键盘或者鼠标来“敲击”钢琴键盘发出声音,也可以通过电脑键盘的组合键实现钢琴的高音。二、程序及注释(1)编程思路:首先,本练习因为要制作模拟钢琴的实例,所以首先要生成程序界面:先通过语句Imagem_ImgUp生成键盘、鼠标松开时显示的键盘图片,再通过语句Imagem_ImgDown生成键盘、

2、鼠标按下时显示的键盘图片,最后通过语句m_ImgUp=getImage(getDocumentBase(),"img/up.gif")和语句m_ImgDown=getImage(getDocumentBase(),"img/down.gif")加载图片,生成钢琴界面。然后,因为要实现模拟钢琴效果,所以要模拟声音的播放,首先通过语句AudioClip[]m_AudioClip=newAudioClip[14]生成一个音频对象的数组,保存七个中音和七个高音的声调,最后,通过函数publicvoidkeyPressed(KeyEvente)来响应按下键盘的动作,实现声音的播放。(2)程序实

3、现及注释://Piano.javaimportjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicPianoextendsAppletimplementsMouseListener,KeyListener,MouseMotionListener{//变量声明Imagem_ImgUp;//键盘、鼠标松开时显示的键盘图片Imagem_ImgDown;//键盘、鼠标按下时显示的键盘图片AudioClip[]m_AudioClip=newAudioClip[14];int[]m_nState=newint[14];intm_

4、nOldDownCount=-1;finalintIMG_WIDTH=17;finalintIMG_HEIGHT=85;finalintSTATE_UP=0;finalintSTATE_DOWN=1;//初始化小程序publicvoidinit(){for(inti=0;i<14;i++){m_nState[i]=0;}m_ImgUp=getImage(getDocumentBase(),"img/up.gif");m_ImgDown=getImage(getDocumentBase(),"img/down.gif");MediaTrackermediaTracker=newMedi

5、aTracker(this);mediaTracker.addImage(m_ImgUp,0);mediaTracker.addImage(m_ImgDown,1);try{mediaTracker.waitForID(0);}catch(Exceptione){System.out.println("m_ImgUpisnotloadedright");}try{mediaTracker.waitForID(1);}catch(Exceptione){System.out.println("m_ImgDownisnotloadedright");}for(inti=0;i<14;i+

6、+){StringsUrl=newString("au/"+i+".au");m_AudioClip[i]=getAudioClip(getCodeBase(),sUrl);}addKeyListener(this);addMouseListener(this);addMouseMotionListener(this);}//画屏函数publicvoidpaint(Graphicsg){for(inti=0;i<14;i++){switch(m_nState[i]){caseSTATE_UP:g.drawImage(m_ImgUp,i*IMG_WIDTH,0,this);break;

7、caseSTATE_DOWN:g.drawImage(m_ImgDown,i*IMG_WIDTH,0,this);break;}}}//主函数publicstaticvoidmain(String[]args){Frameframe=newFrame();Pianopiano=newPiano();frame.add(piano);Dimensiondimension=newDimension(40,200);frame.setSize(dimension

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。