一、 实验目的和要求
要求学生能在学习和理解课堂学习内容中JAVA小应用程序的基础上,通过实验,培养学生将JAVA小应用程序相关知识点(包括JAVA Applet和低级事件处理模型)有机结合,设计基于WEB浏览器的小应用程序的能力。
实验内容:
设计和编写一个可以用鼠标操作的Applet小应用程序和相应的HTML页面,观察Applet的执行过程,测试程序鼠标用户交互操作的效果。
二、实验代码
package think; import java.applet.Applet; import java.applet.AudioClip; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class java_exp_02applet extends Applet implements MouseListener{ AudioClip sound; private int mouseX =25; private int mouseY =25; @Override public void init() { super.init(); sound = getAudioClip(getCodeBase(), "think/think.au"); addMouseListener(this); } @Override public void start() { // TODO Auto-generated method stub super.start(); sound.loop(); } @Override public void stop() { // TODO Auto-generated method stub super.stop(); sound.stop(); } @Override public void paint(Graphics g) { // TODO Auto-generated method stub super.paint(g); g.drawString("mouse position", mouseX, mouseY); } public void mousePressed (MouseEvent evt) { mouseX= evt.getX(); mouseY = evt.getY(); repaint(); } @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } }<strong> </strong>
三、界面
四、实验小结
整体的思路:
* 在鼠标点击之后,在点击的位置输出一段话“mouse position”。由于涉及监听鼠标的操作,所以用了接口的方式 implements MouseListener,所以必须实现mouse的几个方法,在mousePressed()方法里改变坐标的位置,调用repaint()函数,更新鼠标的位置。
鼠标位置的两个私有变量,在init()里初始化。
遇到的问题和解决的方法:
*在eclipse里运行好了之后,浏览器里面打不开,后来发现是html里的applet闭合标签写错了。
* 之后在chrome里运行,需要自动安装一下插件,否则不能支持。
* 一开始想插入图片的时候,由于我把java文件和图片放在一个目录里,所以,直接把路径设置为了相对路径“thinkimage.png”,发现显示不出来。重新阅读了一下javac的源码再加一层目录“think/thinkimage.png”,成功。
*额外的想放一首歌,后来才知道,audioclip只支持au格式的音乐。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-08 22:36:27