3.编写一个Applet程序:画图
要求:界面上有2个按钮,一个为标签为“椭圆”,另一个为“矩形”,点击
后分别画红色的椭圆和蓝色的矩形,其宽度为100、高度为60,左上角顶点坐标为(50,50),试写出完整程序,并且要写出其对应的HTML文件代码。
21
实验八 Applet类及应用
一、实验目的:
掌握applet的程序结构和运行方式;
掌握从html文档向Java Applet传递参数的方法; 了解applet程序的生命周期;
掌握在Applet中对字体、颜色、播放声音、显示图像和动画控制方法; 二、实验内容:
1.编写Applet程序,改变applet窗口大小,使其最大化、最小化,查看init()、
start()、paint()、和destroy()方法的执行情况(执行顺序和执行次数)。 2. 编写Applet显示字符串,显示字符串及其显示位置,字体、字体大小和
颜色通过HTML文件中的参数来传递。
3.编写Applet(大小140*60),其背景色为蓝色,画一个长方形(其填充色
为pink,各边离边小于10像素)和一个在填充的长方形中左右移动的小球(半径15)。
4. 实现一个Applet,显示一幅图片。不停地运行一个动画。 三、实验要求:
1. 必须编写成Java Applet程序;
2. 能够通过传递参数控制一种或者几种图形的绘制;
3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提示,
并给出解决办法。(附运行界面、源代码)。
四、实验步骤:
1.(第1题)在paint()方法中,绘制init()、start()、paint()、和destroy()
方法的执行次数的直方图。
2.(第2题)在HTML文件中添加参数传递的代码:
??
在init()方法中,调用getParameter()获取由HTML传递的参数,再按照要求,在paint()方法中调用Graphics类中drawString()函数显示
22
字符串。
3.(第3题)在paint()方法中调用Graphics类中drawString()函数时,X
坐标定义成变量(10〈=X〈=120),
4.(第4题)在init()方法中,根据指定的位置获取一系列图片类对象放入
数组,再循环显示系列图片就形成动画。 5. 运行、检查和调试 以上各程序。 五、自做实验
1.编写Applet,访问并显示指定URL地址处的图像和声音资源。 2.编写Applet,访问并显示指定URL地址处的一组图像构成的动画。 3.编写Applet,接收用户输入的网页地址,并与程序中事先保存的地址相比
较,若存在则打开网页,并在新打开的浏览器窗口显示*编写一个Applet程序,显示一个圆心在Applet的中心,半径从0到100像素不断变大的绿色球的动画。
4.在Applet中画矩形,要求矩形做上角点坐标(20,20),高度为400*200,上下左右边设为蓝色、矩形填充色为绿色,并在居中的位置写上文字“面向对象程序设计”,字体为楷体_gb2312,大小自定。
5.自定义椭圆(或圆)的方法,画一组椭圆(最大半径200),以圆心处为参考点,半径依次增加2个像素,圆周的颜色随机。
6.给定数组data[]={1,2,3,4}分别画出圆饼图、条形图(宽随意给定,高代表所占百分比),颜色任意。
7.找一幅图像,显示在Applet中,要求按原图大小显示,再放大或缩小一倍显示,或者放大显示右下部的1/4块
23
实验九 Java多线程
一、实验目的:
熟悉利用Thread类建立多线程方法。 熟悉利用Thread接口建立多线程方法。 二、实验内容:
1. 阅读下列程序,分析并上机检验其功能。 class DelayThread exends Thread{ private static int count=0; private int no; private int delay; public DelayThread(){ count++; no=count; }
public void run(){ try{
for (int i=0;i<10;i++){
delay=(int)(Math.random()*5000); sleep(delay);
System.out.println(“Thread ”+no+” with a delay ”+delay); }
}catch(InterruptedException e){}}} public class MyThread{
public static void main(String args[]){ DelayThread thread1=new DelayThread(); DelayThread thread2=new DelayThread(); thread1.start(); thread2.start();
try{ Thread.sleep(1000);}catch(InterruptedException e){
24
System.out.println(“Thread wrong”);}}} 2.讲上列程序利用Runnable接口改写,并上机检验。
3.利用多线程 编写一个模拟时钟(AWT程序、Runnable接口),有时分秒 针 编写一个应用程序,创建三个线程分别显示各自的时间。
三、实验要求:
1. 通过实验掌握Thread 、Runnable使用方法; 2. 程序必须能够实现多线程; 3. 程序必须能够完成题目要求; 4. 写出实验报告。 四、实验步骤:
首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread类建立多线程的方法。
通过将扩展Thread类建立多线程的方法改为利用Runnable接口的方法,掌握通过Runnable接口建立多线程的方法。 四、自做实验
课本:P262 12,13,14
25