[JAVA100例]027、控制波形图

2016-02-19 15:38 21 1 收藏

今天图老师小编要向大家分享个[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

延伸阅读
/**  * pTitle: 目录操作/p  * pDescription: 演示列目录下的文件,和移动一个目录/p  * pCopyright: Copyright (c) 2003/p  * pFilename: Dir.java/p  * @version 1.0  */ import java.io.*; public class Dir{  /**  *br方法说明:实现目录列表  *br输入参数:  *br返回类型:  ...
import java.awt.*; import java.applet.*; /**  * pTitle: 带阴影的文字/p  * pDescription: 使用Applet和Graphics,实现一个文字的移动广告。/p  * pCopyright: Copyright (c) 2003/p  * pFilename: ShadowText.java/p  * @version 1.0  */ public class ShadowText extends Applet implements Runnable ...
/**  * pTitle: 线程组群/p  * pDescription: 通过线程组管理下面的多个线程。/p  * pCopyright: Copyright (c) 2003/p  * pFilename: myThreadgroup.java/p  * @version 1.0  */ public class myThreadgroup extends Thread { public static int flag=1; ThreadGroup tgA; ThreadGroup tgB; /**  *b...
/**  * pTitle: 线程同步/p  * pDescription: 通过使用同步锁实现对共享数据的操作/p  * pCopyright: Copyright (c) 2003/p  * pFilename: SyThreadDemo.java/p  * @version 1.0  */ /**  *br类说明:主程序  *br功能描述:构造两个线程,并启动它们  */ public class SyThreadDemo {  ...
/**  * pTitle: 创建多线程/p  * pDescription: 使用构造器,创建多线程。/p  * pCopyright: Copyright (c) 2003/p  * pFilename: multiThread.java/p  * @version 1.0  */ public class multiThread { /**  *br方法说明:主方法  *br输入参数:  *br返回类型:  */  public static vo...

经验教程

353

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部