现在的位置: 首页 > 综合 > 正文

实验9: Applet(3学时)

2012年01月19日 ⁄ 综合 ⁄ 共 1628字 ⁄ 字号 评论关闭

实验目的

(1) 掌握Java Applet程序的结构和运行机制

(2) 掌握Java Applet程序的生命周期中触发的各种事件

(3) 复习Java语言中类的继承与方法的重载机制

 

实验内容及要求

编写一个Applet程序,在窗体中分别绘制由*组成的正方形和圆,尽量保证*号之间的间距相等。如下图所示:

* * * * * *

* * * * * *

* * * * * *

* * * * * *

* * * * * *

 

思考并验证

(1) 思考一个方法,验证Applet程序运行的生命周期中initstartstopdestroypaint几个方法被调用的时机。实现这个方法,并给出验证的结果。

 

 

(2) 思路:

 

 

 

 

(3) 谈一谈自己对Java Application程序与Applet程序之间区别的一些认识和看法。

 

View Code

package org.freeskyc.com;

/**
*
*
@author FREESKYC
*/

import java.awt.*;
import java.applet.*;

class project12 extends Applet {

StringBuffer buffer = new StringBuffer();

@Override
public void init() {
}

@Override
public void start() {
addItem("程序启动");
}

@Override
public void stop() {
}

public void destory() {
}

void addItem(String s) {
System.out.println(s);
buffer.append(s);// 将字符串输出在java console中
repaint();
}

void CirclePoints(int x0, int y0, int x, int y, Graphics g) {

g.drawString("*", x + x0, y + y0);
g.drawString("*", y + x0, x + y0);
g.drawString("*", -x + x0, y + y0);
g.drawString("*", y + x0, -x + y0);
g.drawString("*", x + x0, -y + y0);
g.drawString("*", -y + x0, x + y0);
g.drawString("*", -x + x0, -y + y0);
g.drawString("*", -y + x0, -x + y0);
}

void Square(int m, int n, Graphics g) {
g.drawString("绘制由*组成的正方形", 100, 80);
//Square();
int i, j;
//int m,n;
int left; //正方形左边起始坐标
left = m;
m = n = 100;

for (i = 0; i < 5; i++)//用于绘制正方形的循环
{
for (j = 0; j < 5; j++) {
g.drawString("*", m, n);
m = m + 10;
}
n = n + 10;
m = left;
}

}

void MidPointCircle(int x0, int y0, int r, Graphics g) {

g.drawString("绘制有*组成的圆形", 300, 80);
int x, y;
float d;
x = 0;
y = r;
d = (float) (1.25 - r);
System.out.println("test" + d);
while (x <= y) {
if (d < 0) {
d = d + 2 * x + 3;
} else {
d = d + 2 * (x - y) + 5;
y = y - 2;
}
x = x + 2;
CirclePoints(x0, y0, x, y, g);
// System.out.println(x+x0+" "+y+y0);


}
}

@Override
public void paint(Graphics g) {

g.drawString(buffer.toString(), 5, 15);
Square(100, 100, g);
MidPointCircle(350, 150, 50, g);

}
}

抱歉!评论已关闭.