一、 实验目的和要求
要求学生能在学习和理解课堂学习内容中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格式的音乐。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/think_ycx/article/details/47612743