您的位置:首页 > 移动开发

NJUPT JAVA语言 小应用程序Applet设计

2015-08-13 15:13 477 查看
一、 实验目的和要求

要求学生能在学习和理解课堂学习内容中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格式的音乐。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: