日期:2014-05-18  浏览次数:20790 次

关于用Applet接收数据并画出曲线的问题!
各位朋友,我想用Applet通过socket接收服务器的数据,并画出曲线,基本思路是:
服务器:Linux系统,C程序,负责生成并发送数据
客户端:Applet网页,负责接收数据并显示曲线

该怎么实现?请朋友们帮忙!


ps:我做了一个,接收数据没有问题,但绘制曲线不知该怎么弄。例如,服务器端发送10000*sin(x)函数值,x从0开始,x=x+0.05;客户端接收数据没有问题,我用drawLine()画图,但画不出正弦图形,很乱,不知道坐标该怎么弄。




------解决方案--------------------
这个你要用多线程画
public class animation1 extends Applet implements Runnable,ActionListener
{

Thread hThread;

int xx=0,yy=0;
int x=0;
Label label1;
public void init()
{

}
public void start()
{
//创建线程
if(hThread==null)
hThread=new Thread(this);
//启动线程

}

public void run()
{
//线程run方法
while(true)
{
repaint();

try
{
//线程睡眠时间
hThread.sleep(20);
}
catch(InterruptedException e)
{}
}
}
public void paint(Graphics g)
{
for(int x1=0;x1 <=x;x1++)
{
double y1=200.0+100.0*Math.sin((double)x1*Math.PI/180.0);
int x11=x1+1;
double y11=200.0+100.0*Math.sin((double)x11*Math.PI/180.0);
g.drawLine(x1,(int)y1,x11,(int)y11);
}
x++;
if(x> 360)x=0;
double y=200.0+100.0*Math.sin((double)x*Math.PI/180.0);
g.drawLine(xx,yy,x,(int)y);
xx=x;
yy=(int)y;
}
public void stop()
{
hThread= null;
}
}
提供给您参考 希望对您有帮助