//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库,特别是`java.awt`和`javax.swing`,它们提供了绘制图形和创建用户界面的功能: ```java import java.awt.Color; import java....
在Java编程语言中,我们可以利用Java 2D图形库来绘制正弦曲线。这个库提供了丰富的功能,让我们能够创建各种图形,包括二维图形和曲线。本篇将详细讲解如何使用Java绘制两个周期内的正弦曲线。 首先,我们需要了解...
NULL 博文链接:https://sdfx.iteye.com/blog/2128502
在Java编程语言中,"实时_正弦曲线"是一个典型的计算机图形学应用,它涉及到动态图形的绘制。在这个程序中,我们重点讨论如何利用Java来实现一个动态地从左到右绘制正弦曲线的功能。 首先,为了绘制正弦曲线,我们...
标题“teechart正弦曲线”指的是使用TeeChart库来绘制一个动态的正弦波形图。这种技术常用于教学、数据分析或者科学模拟中,因为正弦曲线是数学和物理中常见的函数,能够表示周期性变化的数据。 TeeChart库支持多种...
在Java编程语言中,"滚动字"通常是指一种文本动画效果,其中文字会从一端移动到另一端,类似于电视屏幕底部的新闻滚动条。这种效果可以用于各种应用程序,如游戏、用户界面或者简单的演示。以下是一些关于如何在Java...
在Java编程领域,创建一个能够显示当前日期、实时时间并具备滚动字幕功能的日历组件是一项常见的需求。这个组件不仅可以用于各种桌面应用,还可以在移动设备或者网页端提供丰富的交互体验。下面我们将深入探讨实现这...
java类,通过运行dos命令,txt文件可以像exe一样运行,数据由随机数产生,可以动态的显示曲线,以循环的方式实现动态显示
总结一下,实现这个"用Java编写的随机滚动姓名的小程序"涉及的知识点包括: 1. Java基础语法和面向对象编程 2. 多线程的概念与实现,包括`Runnable`接口和线程的生命周期管理 3. `java.awt`和`javax.swing`库的使用...
在Java编程语言中,创建一个滚动字幕程序是一项常见的任务,尤其在开发用户界面或多媒体应用时。这个程序的核心目标是让文字在指定区域里连续滚动显示,类似于电视新闻底部的跑马灯效果。下面我们将深入探讨如何实现...
Java作为一种通用的编程语言,提供了丰富的库和工具来实现曲线拟合。在这个项目中,作者使用Java实现了曲线和直线的拟合功能。 在Java中,曲线拟合通常涉及到数值分析和线性代数的知识。首先,我们需要理解数据点的...
在Java编程语言中,动态正弦函数项目是一个用于展示如何在程序中实时计算并呈现正弦函数值的应用。这个项目的核心在于理解和应用数学中的正弦函数,并将其与Java的图形用户界面(GUI)技术结合,使得用户能够看到...
用JAVA编写的滚动条调色RGB,是很有意义的,不仅学到了JAVA实现的方法,同时也可以看到色彩的无极限。有兴趣的初学者,可以添加、修改代码,让功能更丰富,实现更有趣的界面!
在Java编程语言中,实现Bezier曲线的代码通常涉及到一系列数学运算,包括向量、矩阵和插值算法。以下是对Bezier曲线及其Java实现的详细解析: Bezier曲线的基本概念: Bezier曲线由一组控制点定义,这些控制点不...
在这里,我们将重点关注正弦曲线在Java编程中的实现和应用。 首先,正弦曲线是一个周期性函数,通常表示为y = sin(x),其中x是角度或者弧度,y是对应的角度下的正弦值。在Java中,我们可以使用`java.lang.Math`类...
在这个特定的场景中,"Java 记分牌效果 滚动图像"是一个利用Java Applet实现的计分板展示,它能够以滚动的方式显示分数或其他信息,为网页增添活力和动感。 在Java Applet中,实现滚动图像记分牌效果通常涉及以下几...
可滚动的代码 java 希望能够帮到大家...
Java中的Swing库提供了丰富的图形用户界面(GUI)组件,使得我们可以利用Java编程语言来实现交互式的Bezier曲线绘制。 在给定的项目中,有两个主要的Java源文件:BezierPanel.java和BezierFrame.java。BezierPanel...
此外,为了使图形更具交互性,我们还可以添加滚动条或滑块来改变x轴的范围,或者添加按钮来切换正弦和余弦图。这需要使用Swing的`JScrollPane`、`JSlider`和`JButton`等组件,以及监听器(如`AdjustmentListener`和`...
实现滚动文字,特别用于显示歌名,希望对初学者有帮助!