浏览 3427 次
锁定老帖子 主题:希望能抛砖引玉:案例1图形按钮
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-03
案例1图形按钮 本文摘自 图书《JAVA案例开发集锦.pdf》 本案例是一个用Java Applet实现页面响应鼠标事件的例子。实现了鼠标移入、移出、点击事件的响应功能。程序运行后,界面如图1-1所示。 把鼠标移到图片上面,效果如图1-2所示,并伴随播放声音。如果把鼠标移出,将返回图1-1的状态。 单击图片,程序会再次更改图片的显示效果,如图1-3所示。 制作要点 1.获取HTML中的param的参数值。 2.Applet的声音播放AudioClip类的使用。 3.鼠标事件的监听 4.MediaTracker类的使用 步骤详解 本例采用了Java小应用程序Java Applet,Java Applet首先需要嵌入到网页中,执行时需下载到用户本地进行执行,用户端需要安装Java虚拟机。 1.获取HTML中的param的参数值。 我们先来看一下HTML的源代码。 <applet code=ImgButton.class width=75 height=75> <param name=soundA value="midiA.mid"> <param name=soundB value="midiB.mid"> <param name=Image1 value="button1.gif"> <param name=Image2 value="button2.gif"> <param name=Image3 value="button3.gif"> <param name=URL value=http://www.dzwww.com> </applet> 我们需要在Java中取得这些参数,就要用java.applet.Applet类的方法: public String getParameter(String name) 例如Applet标记在HTML网页中是这样的: <applet code="Clock" width=50 height=50> <param name=Color value="blue"> </applet> 我们在程序中调用方法getParameter(”Color“),这个方法将返回值”blue“。 String colorStr = ”“; colorStr = getParameter(”Color“); if(colorStr==null){ colorStr="blue" ; } 2.Applet的声音播放AudioClip类的使用。 图像格式各种各样,如BMP、GIF和JPEG等。声音文件也一样,WAV和AU是最常用的两种声音文件。在JDK1.2之前Java仅支持AU文件,从JDK1.2开始,Java提供了对WAV、MIDI等声音文件的支持。 使用Applet播放声音时,需首先定义AudioClip对象,getAudioClip方法能把声音赋予AudioClip对象,如果仅想播放一遍声音,应调用AudioClip类的play方法;如果想循环播放,应选用AudioClip类的loop方法。 sound1 = getAudioClip(getDocumentBase(),param); sound1.play(); //播放一次 sound1.loop(); //循环播放 3.鼠标点击事件的监听。 类java.awt.event.MouseListener共有以下5个方法来实现鼠标点击事件: 方法摘要 void mouseClicked(MouseEvent e)当用户按下并松开鼠标按钮时发生。 用户在选择或双击图标的时候通常会点击鼠标按钮,如果在松开鼠标之前移 动鼠标,点击不会导致鼠标相应事件出现。 因为点击鼠标是按下鼠标和松开鼠标的结合,在事件分配给mouseClicked()之前,mousePressed()和mouseReleased()方法已同时被调用。 void mouseEntered(MouseEvent e)当鼠标离开当前组件并进入所监听的组件时激活事件。 void mouseExited(MouseEvent e)当鼠标离开所监听的组件时发生。 void mousePressed(MouseEvent e)当用户按下鼠标按钮时发生。 void mouseReleased(MouseEvent e)当用户松开鼠标按钮时发生。 ①处理鼠标移入事件: offG.drawImage(img1,0,0,width,height,this); ②处理鼠标按钮松开事件: offG,drawImage(img2,0,0,width,height,this); repaint(); soundB.play(); getAppletContext().showDocument(url); ③单击鼠标左键事件: offG.drawImage(img3,0,0,width,height,this); repaint(); soundA.play(); System.out.println("soundB play") 4..MediaTracker 类的使用。 Java专门提供了用于跟踪包括图像和声音等多媒体对象的ImageObserver类和Media-Tracker类。 在本书程序中主要用到的是跟踪多幅图像状态的MediaTracker类。 imageTracker = new MediaTracker(this); try { //开始装载所有图片,多媒体对象imageTracker会跟踪所有指定图片的状态。这个方法会等待,直到所有指定的图片都转载完成,可能会抛出异常 InterruptedException imageTracker.waitForID(0); } catch (InterruptedException e) { } MediaTracker的主要方法及用途 返回类型 方法 用途 MediaTracker 构造方法,为指定的组件comp创建一个 (Component comp) MediaTracker对象 剩下的步骤: 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |