Java 语言程序设计 java_s .java
程序设计:谢山水 2004.1.1.
// Java 语言程序设计 java_s.java 程序设计: 谢山水 2004.1.1.
import java.applet.*; //导入java语言小程序applet包的所有类
import java.awt.*; //导入java语言awt抽象窗口工具包的所有类
// 1.正弦波java_s类继承Java小程序Applet类
public class java_s extends Applet{
// 2.定义求正弦函数的方法,设置正弦波位置,波峰数,幅度,窗口400*400
double fs(double x){// 上水平正弦波
return 0.07*size().height+(Math.sin(x))*0.012*size().height;
}
double fr(double y){// 右垂直正弦波
return 0.93*size().width+(Math.sin(y))*0.015*size().width;
}
double fx(double x){// 下水平正弦波
return 0.93*size().height+(Math.sin(x))*0.012*size().height;
}
double fl(double y){// 左垂直正弦波
return 0.07*size().width+(Math.sin(y))*0.015*size().width;
}
double fz(double x){// 中心水平正弦波
return 0.5*size().height-(Math.sin(x/7))*0.07*size().height;
}
// 3.定义画图方法
public void paint(Graphics g){
// 4.输出文字
Font fnt15 = new Font("TimesRoman",Font.PLAIN,15);
Font fnt20 = new Font("宋体",Font.BOLD,20); // 创建字体对象
g.setFont(fnt15); // 设置当前字体
g.setColor(new Color(255,0,255));
g.drawString("Java 语言",(int)(0.3*size().width),(int)(0.2*size().height)); // 紫字
g.setFont(fnt20); // 设置当前字体
g.setColor(new Color(0,0,255));
g.drawString("图形程序设计",(int)(0.15*size().width),(int)(0.3*size().height));// 蓝字
g.setFont(fnt15); // 设置当前字体
g.setColor(new Color(255,255,0));
g.drawString("程序设计: 谢山水",(int)(0.15*size().width),(int)(0.75*size().height)); // 黄字
g.drawString("2004年1月1日",(int)(0.25*size().width),(int)(0.85*size().height));
// 5.循环设置颜色
for(int i=0;i<3;i++){
switch((int) i){
case 0:
g.setColor(new Color(0,0,255)); //设置画笔为蓝色
setBackground(Color.yellow); //设置背景为黄色
break;
case 1:
g.setColor(new Color(255,255,0)); //设置画笔为黄色
setBackground(Color.orange); //设置背景为橙色
break;
case 2:
g.setColor(new Color(255,0,0)); //设置画笔为红色
setBackground(new Color(133,200,0));//设置背景为绿色
break;
}
// 6.绘制正弦波
for(double x=0.07*size().width;x<0.93*size().width;x+=0.01){
// 上水平正弦波
g.drawLine((int)x,(int)fs(x),(int)x+1,(int)fs(x+1));
}
for(double y=0.07*size().height;y<0.93*size().height;y+=0.01){
// 右垂直正弦波
g.drawLine((int)fr(y),(int)y,(int)fr(y+1),(int)y+1);
}
for(double x=0.93*size().width;x>0.07*size().width;x-=0.01){
// 下水平正弦波
g.drawLine((int)x,(int)fx(x),(int)x+1,(int)fx(x+1));
}
for(double y=0.93*size().height;y>0.07*size().height;y-=0.01){
// 左垂直正弦波
g.drawLine((int)fl(y),(int)y,(int)fl(y+1),(int)y+1);
}
// 绘制中心线
g.drawLine((int)(0.2*size().width),(int)(0.5*size().height),(int)(0.8*size().width),(int)(0.5*size().height));
for(double x=0;x<(int)(0.6*size().width);x+=0.01){
// 中心水平正弦波
for (int h=0;h<3;h++){
g.drawLine((int)x+(int)(0.2*size().width),(int)fz(x)+h,(int)x+(int)(0.2*size().width)+1,(int)fz(x+1)+h);
}
}
}
}
}