`
richardlovejob
  • 浏览: 11721 次
  • 性别: Icon_minigender_1
  • 来自: 凭祥
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

希望能抛砖引玉:案例1图形按钮

阅读更多
   希望能抛砖引玉:案例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对象


剩下的步骤:
  • 描述: 这些是剩下的步骤
  • 大小: 434.4 KB
分享到:
评论

相关推荐

    抛砖引玉——XP风格的按钮源代码

    - **兼容性**:考虑不同操作系统和屏幕分辨率下的兼容性问题,确保按钮在各种环境下都能正常显示。 综上所述,这段源代码提供了一个实现XP风格按钮的基础框架,开发人员可以根据实际需求对其进行扩展和优化,从而...

    抛砖引玉:企业风险管理的“哨兵”.docx

    本文通过三个典型的案例,深入剖析了企业风险管理中的疏漏及其可能导致的严重后果。这些案例揭示了企业法律风险管理的重要性,尤其是在当前金融危机的背景下。 案例一揭示了企业内部管理漏洞可能导致的贪腐问题。在...

    a-way-to-improve-wechat-cloudbase-experience:抛砖引玉:一种改善微信云开发功能,开发者体验的思路

    抛砖引玉:一种改善微信云开发 , 开发者体验的思路 本篇文章写于 2021-02-27 鄙人才疏学浅,如有谬误,欢迎指正 更多代码的细节在 中 前言 小程序云开发,作为一种 BaaS 场景,在过去的一段时间内发展非常的迅猛。 ...

    “数据湖”:概念、特征、架构与案例

    带着这些问题,我们尝试写了这样一篇文章,希望能抛砖引玉,引起大家一些思考和共鸣。感谢南靖同学为本文编写了5.1节的案例,感谢西壁的review。本文包括七个小节:1、什么是数据湖;2、数据湖的基本特征;3、数据湖...

    行动的召唤:好的按钮能提高转化率!

    下面是我总结的一点见解,希望抛砖引玉,给大家一点启示。按钮分为两个部分:按钮文字按钮形状这主要适用在购物网站,使用一种紧迫感的词语更可能让用户采取行动。在按钮上加“现在””立即““马上”等文字,能大大...

    抛砖引玉:区块链的“三权分立”

    先分享简单的结论,再展开分析。想偷懒的朋友,看完这个表格就可以了。后面的分析有点复杂。 所有权 ...我相信,数字资产研究院的这次活动,会成为中国迈向数字经济大国的过程中的一次重要历史事件。...

    WPF抛砖引玉系列-微软新一代图形编程

    WPF是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大...

    SAS 语言抛砖引玉.pdf

    ### SAS语言基础知识详解 #### 一、SAS简介 SAS (Statistical Analysis System) 是一种广泛应用于数据分析、商业智能、预测模型等领域...希望本文能为初学者提供一个良好的起点,并激发他们进一步探索SAS的强大功能。

    Linux环境下Qt4图形界面与MySQL编程

    ### Linux环境下Qt4图形界面与MySQL编程 #### 前言 随着计算机技术的发展,Linux作为一款免费且开源的操作系统,被广泛应用于服务器和个人电脑领域。为了满足用户对图形界面的需求,Qt4作为一种高效的跨平台应用...

    《Linux环境下Qt4图形界面与MySQL编程》.pdf

    ### Linux环境下Qt4图形界面与MySQL编程 #### 前言 随着计算机技术的发展,图形用户界面(Graphical User Interface, GUI)已经成为软件开发中的一个重要组成部分。对于Linux平台而言,掌握一种强大的GUI编程工具是...

    VC版本改写的变色龙按钮

    另外,我新加了一种Graphic按钮类型,该类型按钮显示4个图片:通常状态图片、按下图片、鼠标移动在按钮上时的图片、Disable时图片,并且在这种类型下,没有按钮边框,可以让开发人员轻松灵活地制作各种按钮效果。...

    初中语文文摘历史田婴抛砖引玉荐王后

    【知识点解析】 本文的故事“田婴抛砖引玉荐王后”源于...综上所述,“田婴抛砖引玉荐王后”的故事,不仅是一个历史事件,更是一则关于政治智慧、决策策略和人际关系处理的经典案例,值得我们在现代生活中借鉴和学习。

    成语故事抛砖引玉.docx

    常建虽然也是一位诗人,但对赵嘏的才华十分敬佩,希望能得到他的诗作。 常建得知赵嘏将游览苏州的灵岩寺,便预先在寺墙上题写两句诗,期望能激发赵嘏的创作灵感。赵嘏果然来到灵岩寺,看到墙上的诗句,便接着写了两...

    PCB行业节能改造案例分析.pdf

    文章希望这些案例分析能够为同行业的其他企业带来参考,起到抛砖引玉的作用。 综上所述,本案例分析强调了PCB行业在节能减排方面的必要性和紧迫性,通过具体的技术改造案例详细分析了节能改造的有效性和经济性,并...

    SAS 语言抛砖引玉

    SAS语言抛砖引玉》 任何想学习和了解SAS语言的人,学习SAS的好材料,确实很有用。

    1.第一章 数据的基本操作.txt

    抛砖引玉 :1:指定并输出阿Q的C语言成绩。 #include&lt;stdio.h&gt; /*引入库函数*/ int main() /*主函数*/ { int iScore; /*定义整型变量存放成绩*/ iScore=92; /*将92赋值给变量iScore*/ printf("阿Q的C语言成绩...

    测试分享第一周抛砖引玉

    在"测试分享第一周抛砖引玉"的主题下,我们可以从提供的资源中学习到更多关于接口测试的实践知识。描述中的"fantian_/article/details/113943753"可能指向一个详细的博客文章或文档,其中包含了丰富的接口测试策略和...

Global site tag (gtag.js) - Google Analytics