手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

用java做的滚动的正弦曲线

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

//Windows API写过滚动正弦曲线,感觉用Java做起来代码会比较小,试了一下,但感觉界面不如windows好.

import java.awt.*;
import java.awt.event.*;
import javax.Swing.*;
import javax.swing.Timer;


public class SinWave extends JFrame{
private static final int NUM = 1000;
private static final double TWOPI = 2 * 3.14;
private static final int STEP = 10;
private int []xPoints = new int[NUM];
private int []yPoints = new int[NUM];
private int []yCopyPoints = new int[STEP];
private int width,height;
private Timer timer;

public SinWave()
{
setSize(500,400);
this.setBackground(Color.white);
Dimension scrSize=Toolkit.getDefaultToolkit().getScreenSize();
width = getWidth();
height = getHeight();
this.setLocation((scrSize.width-width)/2,(scrSize.height-height)/2);
for(int i = 0; i < NUM; i )
{
xPoints[i] = i * width / NUM;
yPoints[i] = (int)(height/2*(1-Math.sin(TWOPI * i / NUM)));
}
setVisible(true);
timer = new Timer(200,new ActionListener(){
public void actionPerformed(ActionEvent e)
{
for(int i = 0; i < STEP; i )
yCopyPoints[i] = yPoints[i];
for(int i = 0; i < NUM-STEP; i )
yPoints[i] = yPoints[i STEP];
for(int i = 0; i < STEP; i )
yPoints[i NUM-STEP] = yCopyPoints[i];
repaint();
}
});

addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent ce) {
width = getWidth();
height = getHeight();
for(int i = 0; i < NUM; i )
{
xPoints[i] = i * width / NUM;
yPoints[i] = (int)(height/2*(1-Math.sin(TWOPI * i / NUM)));
}
}
});
timer.start();
}
public void paint(Graphics g)
{
super.paint(g);
g.setColor(Color.red);
g.drawLine(0,height/2,width,height/2);
g.setColor(Color.green);
g.drawPolyline(xPoints,yPoints,NUM);
}
public static void main(String []args)
{
SinWave sw= new SinWave();
sw.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

上一篇: 电信网管中的Java客户端(三)
下一篇: 电信网管中的Java客户端系列(四)

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!