JAVA怎么定时自动画图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA怎么定时自动画图相关的知识,希望对你有一定的参考价值。

我要用JAVA画一个折线图,每秒会从数据库中读取一个数字,然后自动在画布上刷新,程序该怎么写,,,我画图会画,加一个定时器不知道该怎么加,在定时器中画图不显示,最好能有代码,谢谢

参考技术A 用线程, 画布那里提供一个画的方法,然后 写个线程 里面是while(true) 的 在这里面读取然后调用画布提供的方法,然后让线程sleep一下追问

还是看不太明白,能贴上代码么,谢谢

参考技术B 使用SwingWorker + ScheduledExecutorService 参考技术C 会画图就容易多了,给你个思路,多线程。 将画图部分创建一个独立的线程来处理。
还不清楚在说,我弄个demo给你看看。追问

还是看不太明白,能贴上代码么,谢谢

追答package swing;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class TestThreadGrp 

/**
 * @param args
 */
public static void main(String[] args) 
// TODO Auto-generated method stub
JFrame jf = new JFrame("测试标题");
jf.setSize(300,400);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JLabel jl = new JLabel();  //定义个可以在上面绘图的控件

jf.add(jl,BorderLayout.CENTER); //加入窗体中心位置

Thread th = new Thread() //定义一个线程

@Override
public void run()   //覆盖线程的运行方法
// TODO Auto-generated method stub
for(int i=0;i<100;i++) //循环100次
jl.getGraphics().clearRect(0, 0, 300, 400); //先清除上一次绘制的图案
jl.getGraphics().drawString(i+"", 100, 100); //将文字绘制到绘图控件
try 
Thread.sleep(1000); //延时1秒
 catch (InterruptedException e) 
// TODO Auto-generated catch block
e.printStackTrace();






;

jf.setVisible(true);  //显示窗体
th.start();  //线程启动




很简单的一个demo,能看明白么?

本回答被提问者采纳

以上是关于JAVA怎么定时自动画图的主要内容,如果未能解决你的问题,请参考以下文章

qq消息怎么定时自动发送

C# 定时自动执行程序

java在servlet里设置个定时器,让其在tomcat一运行时,自动每隔几个小时执行一个任务?

手机怎么自动刷新网页

有关matlab画图的问题,怎么让plot函数不自动补充缺失的横坐标,详见下面的描述:

java 定时器