可以利用drawLine;再来几个循环。
解决方案 »
- java 异常捕获问题,求教啊。。。
- java poi 读取Excel2007版本时内存溢出
- 现在我应该如何学习java
- 请教:怎样在java application(不是applet)中播放WAV?
- think in java 第三版是否是针对1.4版本的书?
- 各位大虾,学习网络编程,又没必要先学习一下ccnp?
- 关于JScrollPane的问题??
- 请帮忙
- 做个类似于单击按钮可取消操作的例子
- 我做了一个awt 图形程序,发现做成applet在浏览器看的速度明显快于用application的速度,这是为何??
- Java application 是否可以直连 MySQL?
- 用JApplet如何调用本地文件?如何给它数字签署? 请大家帮忙! 十分着急!!!!!!!!!!!!!!!!!!
x取0.1,0.2,........10然后:
fillOval(x*10,(int)sin(x),1,1);
import javax.swing.*;
import java.awt.event.*; public class GUIdemo extends JFrame implements ActionListener
{
int tag=0;
int width=400,height=400;
public static void main(String []args)
{
GUIdemo pic = new GUIdemo();
pic.setVisible(true);
} public GUIdemo()
{
JButton sin;
JButton cos;
JButton exit;
JPanel panel;
setSize(400,400);
addWindowListener(new WindowDestroyer());
setTitle("GUIdemo by java");
Container contentPane =getContentPane();
contentPane.setBackground(Color.white);
contentPane.setLayout(new BorderLayout()); panel = new JPanel();
sin = new JButton("sin");
sin.addActionListener(this);
cos = new JButton("cos");
cos.addActionListener(this);
exit = new JButton("exit");
exit.addActionListener(this);
panel.add(sin);
panel.add(cos);
panel.add(exit);
contentPane.add(panel,BorderLayout.NORTH);
} public void actionPerformed(ActionEvent e)
{
String action = e.getActionCommand();
if(action.equals("sin"))
{
tag = 1;
repaint();
} if(action.equals("cos"))
{
tag = 2;
repaint(); }
if(action.equals("exit"))
{
System.exit(0);
}
} public void paint(Graphics g)
{
super.paint(g);
g.drawLine(200,0,200,400);
g.drawLine(0,200,400,200);
g.setColor(Color.red);
if(tag ==1)
{
for(int i=0;i<=400;i++)
{
g.fillOval(i,(int)(200+20*Math.sin(i/(4*Math.PI))),1,1);
}
}
if(tag == 2)
{
for(int i=0;i<=400;i++)
{
g.fillOval(i,(int)(200+20*Math.cos(i/(4*Math.PI))),1,1);
}
} }}