希望能抛砖引玉:案例1图形按钮
案例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对象
剩下的步骤:
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0000/6892/c20509a7-2c03-46a8-ac16-0925759bc7c3-thumb.jpg)
- 描述: 这些是剩下的步骤
- 大小: 434.4 KB
分享到:
相关推荐
- **兼容性**:考虑不同操作系统和屏幕分辨率下的兼容性问题,确保按钮在各种环境下都能正常显示。 综上所述,这段源代码提供了一个实现XP风格按钮的基础框架,开发人员可以根据实际需求对其进行扩展和优化,从而...
本文通过三个典型的案例,深入剖析了企业风险管理中的疏漏及其可能导致的严重后果。这些案例揭示了企业法律风险管理的重要性,尤其是在当前金融危机的背景下。 案例一揭示了企业内部管理漏洞可能导致的贪腐问题。在...
抛砖引玉:一种改善微信云开发 , 开发者体验的思路 本篇文章写于 2021-02-27 鄙人才疏学浅,如有谬误,欢迎指正 更多代码的细节在 中 前言 小程序云开发,作为一种 BaaS 场景,在过去的一段时间内发展非常的迅猛。 ...
带着这些问题,我们尝试写了这样一篇文章,希望能抛砖引玉,引起大家一些思考和共鸣。感谢南靖同学为本文编写了5.1节的案例,感谢西壁的review。本文包括七个小节:1、什么是数据湖;2、数据湖的基本特征;3、数据湖...
下面是我总结的一点见解,希望抛砖引玉,给大家一点启示。按钮分为两个部分:按钮文字按钮形状这主要适用在购物网站,使用一种紧迫感的词语更可能让用户采取行动。在按钮上加“现在””立即““马上”等文字,能大大...
先分享简单的结论,再展开分析。想偷懒的朋友,看完这个表格就可以了。后面的分析有点复杂。 所有权 ...我相信,数字资产研究院的这次活动,会成为中国迈向数字经济大国的过程中的一次重要历史事件。...
WPF是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大...
### SAS语言基础知识详解 #### 一、SAS简介 SAS (Statistical Analysis System) 是一种广泛应用于数据分析、商业智能、预测模型等领域...希望本文能为初学者提供一个良好的起点,并激发他们进一步探索SAS的强大功能。
使用简单的梯形图和SCL语言编写,逻辑清晰,通俗易懂,写有注释,起到抛砖引玉的作用,比较适合有动手能力的入门初学者 软件环境: 1、西门子编程软件:TIA Portal V16(博图V16) 2、PLCSIM V16 3、FactoryIO 2.4 ...
使用简单的梯形图编写,逻辑清晰,通俗易懂,写有详细注释,起到抛砖引玉的作用,比较适合有动手能力的入门初学者 软件环境: 1、西门子编程软件:TIA Portal V16(博图V16) 2、西门子仿真软件:PLCSIM V16 3、...
使用简单的梯形图与SCL语言编写,通俗易懂,起到抛砖引玉的作用,比较适合有动手能力的入门初学者。 软件环境: 1、西门子编程软件:TIA Portal V15(博图V15) 2、FactoryIO 2.4.0 内容清单: 1、FactoryIO中文说明...
使用简单的梯形图与SCL语言编写,通俗易懂,写有详细注释,起到抛砖引玉的作用,比较适合有动手能力的入门初学者。 软件环境: 1、西门子编程软件:TIA Portal V15(博图V15) 2、FactoryIO 2.4.3 内容清单: 1、...
通过三个不同品牌的仿真平台相互通讯,实现一些简单的动作,内容简单,主要演示通讯,起到抛砖引玉的作用,比较适合有动手能力的入门初学者。 软件环境: 1、西门子编程软件:TIA Portal V16(博图V16) 西门子仿真...
另外,我新加了一种Graphic按钮类型,该类型按钮显示4个图片:通常状态图片、按下图片、鼠标移动在按钮上时的图片、Disable时图片,并且在这种类型下,没有按钮边框,可以让开发人员轻松灵活地制作各种按钮效果。...
使用简单的梯形图编写,通俗易懂,起到抛砖引玉的作用,比较适合有动手能力的入门初学者。 软件环境: 1、西门子编程软件:TIA Portal V15(博图V15) 2、FactoryIO 2.4.0 内容清单: 1、FactoryIO中文说明书+场景...