展开全部
一下32313133353236313431303231363533e4b893e5b19e31333361326238为一个代码示例importjavax.swing.*;
importjava.awt.*;
/**
*@author杨舸
*@version1.0.0
*@sincejdk1.8
*/
classDiagramextendsJPanel{
staticfinalintSCALEFACTOR=200;
intcycles;
intpoints;
double[]sines;
int[]pts;
Diagram(){
}
publicvoidsetCycles(intnewCycles){
cycles=newCycles;
points=SCALEFACTOR*cycles*2;
sines=newdouble[points];
for(inti=0;i
doubleradians=(Math.PI/SCALEFACTOR)*i;
sines[i]=Math.sin(radians);
}
repaint();
}
publicvoidpaintComponent(Graphicsg){
super.paintComponent(g);
intmaxWidth=getWidth();
doublehstep=(double)maxWidth/(double)points;
intmaxHeight=getHeight();
pts=newint[points];
for(inti=0;i
pts[i]=(int)(sines[i]*maxHeight/2*.95+maxHeight/2);
g.setColor(Color.BLUE);
for(inti=1;i
intx1=(int)((i-1)*hstep);
intx2=(int)(i*hstep);
inty1=pts[i-1];
inty2=pts[i];
g.drawLine(x1,y1,x2,y2);
}
}
}
publicclassTest{
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,200);
Diagramsines=newDiagram();
sines.setCycles(5);
frame.getContentPane().add(sines);
frame.setVisible(true);
}
}