主题:画sin(x)函数图像
java 代码如下:
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class DrawSin extends JFrame implements ActionListener{
JButton draw = new JButton("画图");
JButton clear = new JButton("清除画图");
JTextField w = new JTextField(20);
public DrawSin(){
setTitle("sin()函数");//设置标题
setLayout(new FlowLayout());//设置为流布局
// setLayout(new CardLayout());
// draw.setLocation(40, 40);
//添加组件
add(draw);
add(clear);
add(w);
//添加监听事件
draw.addActionListener(this);
clear.addActionListener(this);
setSize(600,600);//设置窗口大小
setLocationRelativeTo(null);//设置窗口居中显示
setVisible(true);//设置窗口显示
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭按钮响应方式
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if( e.getSource() == draw ){//画图
int text = Integer.parseInt(w.getText());//获取文本框中的数字字符
Graphics g = getGraphics();
for( int i=0; i<1000; i++ ){
int x1 = i;
int x2 = i+1;
int y1 = (int) (Math.sin( text*x1*Math.PI/180) * 100 +200 );//sin()函数
int y2 = (int) (Math.sin( text*x2*Math.PI/180) * 100 +200 );//sin()函数
// g.drawString("*", x1, y1);//画图
g.drawLine(x1, y1, x2, y2);//画线
}
}
if( e.getSource() == clear){//重画
repaint();
}
}
public static void main(String args[]){
new DrawSin();
}
}
运行结果: