今天图老师小编要向大家分享个[JAVA100例]027、控制波形图教程,过程简单易学,相信聪明的你一定能轻松get!
【 tulaoshi.com - 编程语言 】
import java.awt.*;
import javax.swing.*;
public class Func extends JFrame{
/**
*br方法说明:主方法
*br输入参数:
*br返回类型:
*/
public static void main(String[] args){
Func db = new Func();
db.update();
}
/**
*br方法说明:构造器,显示窗体
*br输入参数:
*br返回类型:
*/
Func(){
super("Function");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(310,310);
show();
}
/**
*br方法说明:更新画面
*br输入参数:
*br返回类型:
*/
public void update(){
repaint();
}
/**
*br方法说明:转换坐标点
*br输入参数:
*br返回类型:
*/
double f(double x) {
return (Math.sin(2*x)+Math.cos(3*x));
}
/**
*br方法说明:绘制坐标图
*br输入参数:
*br返回类型:
*/
public void paint(Graphics g) {
double x0,x1,y0,y1,xd,yd;
double max=5.0;
int w,h,hw,hh;
//获取屏幕的尺寸
w=getSize().width;
h=getSize().height;
hw=w/2; hh=h/2;
//在屏幕上输出字符
g.drawString("Sin[2x]+Cos[3x]",10,40);
g.setColor(Color.red);
g.drawString("0",hw+5,hh+12);
g.drawString(""+max,hw-20,40);
g.drawString(""+max,w-20,hh+12);
//绘制X轴坐标
g.drawLine(0,hh,w,hh);
//绘制Y轴坐标
g.drawLine(hw,0,hw,h);
xd=2*max/w;//计算X增量
yd=hh/max; //计算y增量
g.setColor(Color.blue);
//使用增量绘制一小段线,最终组成曲线图形。
for (int x=0 ; xw-1; x++) {
x0=-max+x*xd; y0=f(x0)*yd;
x1=x0+xd; y1=f(x1)*yd;
g.drawLine(x,(int)(hh-y0),x+1,(int)(hh-y1));
}
}
} //end
来源:http://www.tulaoshi.com/n/20160219/1610056.html
看过《[JAVA100例]027、控制波形图》的人还看了以下文章 更多>>