`
wenlong342
  • 浏览: 62392 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

applet绘制曲线

    博客分类:
  • jsp
阅读更多

curvePic.java

package src;


import java.awt.*;

import java.applet.*;

import java.awt.event.*;

import java.util.*;

import java.lang.*;

 

public class curvePic extends Applet {

   static int LEN;

   static int Xo,Yo;

   static int X2,Y2;

   final int X1=50,Y1=30;

   int Yunit,Xunit;

   float Unit;

   String Xstr,Ystr;

   String Xstring;

   int[] Xval;

   int[] Yval;

   float[] Y=new float[5];

   int[] X=new int[8];

   float[] temp=new float[1];

   int Xmax,Xmin;

   float Ymax,Ymin;

   int[] Yvalue;

   int[] Xvalue;

   int xpar=0;

  

  public void init() {

}

 

  public void start() {

    int width=this.getBounds().width;

    int height=this.getBounds().height;

    setSize(width,height);

    Xstr=getParameter("xValue");

    Ystr=getParameter("yValue");

    Xstring=getParameter("xStr");

    Xval=Substr(Xstr);

    Yval=Substr(Ystr);

    LEN=Xval.length;

    Yvalue=new int[LEN];

    Xvalue=new int[LEN];

    Xo=50;

    Yo=height-30;

    X2=width-30;

    Y2=Yo;

    Yunit=(height-100)/4;

    Ymax=getMaxVal(Yval);

    Ymin=0;               

    Xmax=getMaxVal(Xval); 

    Xmin=0;               

    if(Ymax==Ymin){

        Ymin=0;

    }

    if(Xmax==Xmin){

        Xmin=0;

    }

    float tempy=((float)Ymax-(float)Ymin)/4;

    Y[0]=0;        

    Y[1]=(Ymin+tempy)/100;

    Y[2]=(Ymin+tempy*2)/100;

    Y[3]=(Ymin+tempy*3)/100;

    Y[4]=(Ymax)/100;

    xpar=(int)(Xmax/100)+1;

    Xunit=(width-100)/xpar;

    float Xtempy=0;

    X[0]=0;

    int xi;

    for(xi=1;xi<=xpar;xi++){

        X[xi]=xi;

        if(xi==xpar){

             Xtempy=100;

        }

    }

    Yvalue=getY(Yunit,tempy,Ymin,Yval);

    Xvalue=getX(Xunit,Xtempy,Xmin,Xval,width,xpar);

  }

 

  public static int[] getY(int unit,float diff,float ymin,int[] value){

    int I=0;

    int[] result=new int[LEN];

    for(I=0;I<LEN;I++)

    result[I]=(int)(Yo-((4*unit)/(diff*4))*(value[I]-ymin));

    return result;

  }

 

   public static int[] getX(int unit,float diff,float xmin,int[] value,int wideth,int xaxis){

    int I=0;

    int[] result=new int[LEN];

    for(I=0;I<LEN;I++)

    result[I]=(int)(X2-((unit)/(diff))*(value[I]));

    return result;

  }

 

  public void paint(Graphics g){ 

    java.text.DecimalFormat df1 = new java.text.DecimalFormat("##0");

    g.setColor(Color.red); 

    g.drawLine(Xo,Yo,X1,Y1);

    int I;

    for(I=0;I<5;I++){

        g.drawLine(Xo-5,Yo-Yunit*I,Xo,Yo-Yunit*I);

        g.drawString( df1.format(Y[I]),Xo-38,Yo-Yunit*I);

    }

    g.drawLine(X1,Y1,X1-5,Y1+5);

    g.drawLine(X1,Y1,X1+5,Y1+5);

    g.drawLine(Xo,Yo,X2,Y2);

    for(I=0;I<=xpar;I++){

        g.drawLine(Xo+Xunit*I,Yo,Xo+Xunit*I,Yo+5);

        g.drawString(Integer.toString(X[I]),Xo+Xunit*I-6,Yo+20);

    }

    g.drawLine(X2,Y2,X2-5,Y2-5);

    g.drawLine(X2,Y2,X2-5,Y2+5);

    g.setColor(Color.blue);

    g.drawString("Öµ(value)",X1-50,Y1);

    g.drawString(Xstring,X2-20,Y2+20);

    for(I=0;I<LEN;I++){

      if(Ymax==0){

           g.drawLine(Xo,Yo,Xo+Xunit*xpar,Yo);

      }

      else if(I==LEN-1){

          g.drawLine(X2+50-Xvalue[0],Yvalue[0],X2+50-Xvalue[I],Yvalue[I]);

      }

      else{

          g.drawLine(X2+50-Xvalue[I],Yvalue[I],X2+50-Xvalue[I+1],Yvalue[I+1]);

      }

    }

  }

 

  public static int[] Substr(String str){

    int I=0;

    StringTokenizer st = new StringTokenizer(str,";");

    int len=st.countTokens();

    int[] val=new int[len];

    while(st.hasMoreTokens()){

        float midtemp=Float.parseFloat(st.nextToken())*100;

        val[I]=Math.round(midtemp);

        I++;

    }

    return val;

  }

 

  public static int getMaxVal(int[] Maxval){

    int I,result;

    result=Maxval[0];

    for(I=0;I<Maxval.length;I++){

        if(result<Maxval[I])

        result=Maxval[I];

    }

    return result;

  }

 

  public static int getMinVal(int[] Minval){

    int I,result;

    result=Minval[0];

    for(I=0;I<Minval.length;I++){

        if(result>Minval[I])

        result=Minval[I];

    }

    return result;

  }

 

}

 test.html

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<html>

<APPLET  height=300 width=500 code=curvePic.class>

<PARAM NAME="xValue" VALUE=2.07;2.17;2.25;2.34;2.45;2.52;2.63;2.71;2.80;2.91;2.99;3.05;3.15;3.23;3.31;3.37;3.43;3.53;3.56;3.62;3.72;3.75;3.81;3.87;3.89;3.96;3.98;4.02;4.05;4.08;4.11;4.12;4.14;4.16;4.17;4.17;4.18;4.19;4.19;4.19;4.20;4.19;4.19;4.19;4.18;4.17;4.10;4.08;4.06;4.04;4.01;3.97;3.93;3.91;3.84;3.79;3.75;3.67;3.65;3.59;3.54;3.49;3.41;3.34;3.30;3.26;3.13;3.10;3.01;2.91;2.87;2.79;2.69;2.62;2.53;2.46;2.35;2.22;2.20;2.05;1.96;1.89;1.77;1.70;1.59;1.49;1.45;1.27;1.20;1.17;.97;.94;.90;.73;.70;.63;.52;.48;.41;.34;.29;.24;.20;.15;.12;.10;.06;.04;.04;.02;.01;.00;.00;.00;.02;.03;.04;.09;.13;.18;.22;.27;.33;.38;.45;.50;.57;.64;.72;.79;.88;.96;1.03;1.13;1.20;1.29;1.39;1.47;1.56;1.66;1.76;1.83;1.93;2.02;>

<PARAM NAME="yValue" VALUE=15;15;15;15;15;100;15;15;16;15;15;15;15;15;15;15;15;16;15;15;15;15;16;16;15;15;15;16;15;15;15;15;16;15;15;15;15;15;15;15;15;15;15;15;15;16;15;16;16;16;18;17;18;19;19;20;19;19;19;20;22;21;20;22;22;23;22;21;21;22;23;23;21;20;21;21;20;20;20;20;20;18;17;18;18;18;17;16;17;16;16;16;15;16;16;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;16;16;16;17;17;18;17;16;16;17;17;18;17;16;16;16;16;16;16;16;16;15;15;15;15;16;15;>

      <PARAM NAME="xStr" VALUE=时间(T)>

 </APPLET>

</html>
 

分享到:
评论

相关推荐

    Applet编写的三角函数曲线

    【标题】"Applet编写的三角函数曲线"指的是在Java编程环境下,利用Applet小应用程序技术绘制出的正弦函数图像。Applet是Java的一种早期特性,它允许开发者创建可以在Web浏览器中运行的小型交互式程序。在这个特定的...

    远程采集系统嵌入式WEB端java applet动态曲线显示采集量的代码.zip

    为了实现动态曲线显示,开发者可能使用了Java的Swing或AWT库来构建UI组件,比如JPanel或JComponent,然后在这些组件上绘制曲线。Java的Graphics类提供了丰富的绘图功能,可以用于画线、填充形状等,通过定时器更新...

    远程采集系统嵌入式WEB端java applet动态曲线显示采集量的代码.rar

    Showdata.java文件很可能是实现这一功能的核心,它可能包含了绘制曲线的图形API调用,如Java AWT或Swing库中的`Graphics`类,以及处理实时数据更新的方法。 3. 实时数据处理与更新: 在远程采集系统中,数据的实时...

    在Applet画面中实现y=ax2 bx c_函数曲线的绘制

    ### 在Applet画面中实现y=ax² + bx + c函数曲线的绘制 #### 一、课程设计背景与目的 在计算机科学与技术专业中,利用编程语言实现数学公式的图形化展示是一项重要的技能。本课程设计的目标是让学生通过Java语言中...

    applet_+_JfreeChart_实现曲线走势图

    5. 将图表嵌入Applet:创建一个Applet类,覆盖paintComponent()方法,在其中调用ChartPanel对象的drawChart()方法,将JFreeChart对象绘制到Applet的画布上。 6. HTML嵌入:在HTML文件中,使用&lt;applet&gt;标签指定...

    在Applet画面中实现y=a*x2+b*x+c 函数曲线的绘制

    在本课程设计中,学生被要求在Applet中实现y=a*x^2+b*x+c函数曲线的绘制。这个任务旨在让学生掌握Java语言的程序设计方法,理论与实践相结合,提升软件开发技术,培养分析和解决问题的能力,以及提高论文撰写水平。 ...

    有applet实现画图的操作界面

    `Graphics`对象提供了各种绘图方法,如`drawLine()`用于绘制直线,`drawOval()`用于绘制椭圆,`drawRect()`用于绘制矩形,以及可能使用`drawBezier()`或其他曲线绘制方法来绘制曲线。 为了使用户能够选择不同的颜色...

    Java中用Applet画sinx

    在这里,我们需要用到`drawLine()`方法来绘制曲线。 4. **计算sin(x)值**: 我们需要一个循环,遍历x轴上的多个点,并计算对应的sin(x)值。可以使用`Math.sin()`方法来获取正弦值。确保x值在有效范围内,例如从0到...

    用java画出两个周期内的正弦曲线

    // 绘制曲线 g.beginPath(); for (int i = 0; i ; i++) { g.lineTo(xPoints[i], yPoints[i]); } g.closePath(); g.stroke(); } ``` 4. **设置窗口大小和位置**: 我们需要设置`JFrame`的大小和位置,使其...

    java applet 挖宝小程序

    在这个游戏中,可能使用了`Canvas`或者`JPanel`来绘制游戏场景,通过重写`paint`或`paintComponent`方法来实现图形的绘制。 4. **游戏逻辑**: 游戏的核心部分在于它的逻辑处理,包括主角移动的规则、宝藏和炸弹的...

    java课程设计 applet程序 动画

    4. **绘制小人沿曲线轨迹运动**:小人应该能够沿抛物线轨迹从起点移动到终点,并且在到达终点后自动返回起点继续循环运动。 #### 三、设计思路与实现细节 1. **初始化Applet参数**: - 使用`init()`方法获取并...

    设计 函数曲线的绘制

    在Applet画面中实现y=a*x2+b*x+c 函数曲线的绘制 1)通过Applet参数传递a,b,c值; 2)通过Applet参数控制曲线的粗细; 3)曲线的颜色通过颜色对话框选取(通过一个颜色按钮控制); 4)绘制一个小人沿曲线轨迹...

    bezier曲线生成演示

    在贝塞尔曲线的Java Applet中,代码可能利用Java的AWT或Swing库来创建图形用户界面,并使用Java的Graphics类来绘制曲线。用户可能可以通过滑块或输入框来改变控制点的位置和t值,实时观察曲线的变化。 通过分析和...

    java绘制蝴蝶效应曲线代码

    用java绘制一个三维蝴蝶效应的applet程序,具有多线程功能

    基于Java Applet的液位PID控制仿真.pdf

    基于 Java Applet 的液位 PID 控制仿真...该系统是一种基于 Java Applet 的液位 PID 控制仿真系统,具有在线仿真、实时曲线绘制、界面动画等功能,针对高校过程控制实验设备和场地不足的问题,提供了一种新的解决方案。

    Java Applet实例编程

    此外,Applet的复杂性相比其他Web技术更高,学习曲线较陡峭。 10. **现代Web开发的替代方案**: 考虑到Applet的现状,开发者可以转向JavaScript库(如jQuery)、WebGL、WebAssembly等技术,它们在不依赖额外插件的...

    笛卡儿三维曲线(非常漂亮)

    3. **二维和三维图形绘制**:使用Java的`Graphics2D`和`Java3D`库来绘制和渲染曲线。在笛卡儿曲线的例子中,`Graphics2D`可能用于二维渲染,而`Java3D`则用于构建三维场景。 4. **笛卡儿坐标系**:理解笛卡儿坐标系...

    自己写的自动画线applet

    在这个applet中,`java.awt.Graphics`类是关键,它提供了绘制直线、曲线、填充区域等方法。例如,`drawLine(int x1, int y1, int x2, int y2)`可以用来绘制一条从(x1, y1)到(x2, y2)的直线。 5. **Applet生命周期**...

    java发布统计曲线

    2. **Plot类**:作为Applet类的子类,负责与HTML页面的交互,接收参数,并调用`Curve`类绘制统计曲线。 - **参数解析**:从HTML页面中读取`param`标签数据,传递给`Curve`类。 - **Applet生命周期管理**:遵循...

    java_paiting.rar_drawlet applet

    Java_paiting.rar_drawlet_applet 是一个基于Java编写的画图应用程序,它利用了Java Applet技术,为用户提供了一个简单但功能丰富的矢量图形绘制环境。Drawlet Applet是Java编程领域中一种常见的示例,它展示了如何...

Global site tag (gtag.js) - Google Analytics