这是一个窗体的程序,实现绘制正弦曲线的目的.现在想加进一个下拉菜单,里面有"正,余,切"三个选项,如何加进这个下拉菜单~,请高手指引!importjava.awt.*;importjava.awt.event.*;publicc...
这是一个窗体的程序,实现绘制正弦曲线的目的.
现在想加进一个下拉菜单,里面有"正,余,切"三个选项,如何加进这个下拉菜单~, 请高手指引!
import java.awt.* ;
import java.awt.event.*;
public class Sinea extends Frame{
public static void main(String arg[]) {
Sine s = new Sine("Sine curve");
s.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
s.setSize(430, 250);
MyCanvas cnv= new MyCanvas( );
cnv.setSize(400, 200);
cnv.setBackground(Color.white);
cnv.setForeground(Color.black);
s.add(cnv);
s.setVisible(true); // for JDK 1.5
//s.show(); // for JDK 1.4
}
public Sinea(String title)
{
super(title);
}
}
class P{
int marg=10, xorg=0, yorg=100, width=400, height=200;
double sx = 1.0, sy = 80.0;
int x, y, u, v;
public P(int u, int v){
this.u = u;
this.v = v;
UVtoXY();
}
public void UVtoXY(){
x = xorg + marg + (int)(sx*(double)u);
y = yorg + marg - (int)(sy*(double)v);
}
public void UVtoXY(double du, double dv){
x = xorg + marg + (int)(sx*du);
y = yorg + marg - (int)(sy*dv);
}
}
class MyCanvas extends Canvas{
public void paint(Graphics g) {
int i;
double u, v, frq=2.0;
P org = new P(0, 0);
P x400 = new P(400, 0);
P ypone = new P(0, 1);
P ymone = new P(0, -1);
g.drawLine(org.x, org.y, x400.x, x400.y);
g.drawLine(ypone.x, ypone.y, ymone.x, ymone.y);
P pold = new P(0, 0);
P pnew = new P(0, 0);
for(i = 0; i < 360 ; i=i+1) {
u = (double)i;
v = Math.sin(frq*u*Math.PI/180.0);
pnew.UVtoXY(u, v);
g.drawLine(pold.x, pold.y, pnew.x, pnew.y);
pold.x = pnew.x; pold.y = pnew.y;
}
}
}
展开