问个很菜的问题,多线程repaint如何控制重绘paint时间间隔我的代码:import java.awt.*;
import java.applet.*;
import java.util.Calendar;
public class pro extends Applet
{
public void paint(Graphics g)
{
Calendar c=Calendar.getInstance();
g.drawString("当前时间:"+c.get(c.YEAR)+"年"+c.get(c.MONTH)+"月"+c.get(c.DATE)+"日",10,10);
g.drawString("当前时间:"+c.get(c.HOUR)+"时"+c.get(c.MINUTE)+"分"+c.get(c.SECOND)+"秒",10,25);
repaint();
}
}
如何让他每隔2秒刷新一次
import java.applet.*;
import java.util.Calendar;
public class pro extends Applet
{
public void paint(Graphics g)
{
Calendar c=Calendar.getInstance();
g.drawString("当前时间:"+c.get(c.YEAR)+"年"+c.get(c.MONTH)+"月"+c.get(c.DATE)+"日",10,10);
g.drawString("当前时间:"+c.get(c.HOUR)+"时"+c.get(c.MINUTE)+"分"+c.get(c.SECOND)+"秒",10,25);
repaint();
}
}
如何让他每隔2秒刷新一次
import java.awt.*;
import java.applet.*;
import java.util.Calendar;
public class pro extends Applet
{
public void paint(Graphics g)
{
Calendar c=Calendar.getInstance();
g.drawString("當前時間:"+c.get(c.YEAR)+"年"+c.get(c.MONTH)+"月"+c.get(c.DATE)+"日",10,10);
g.drawString("當前時間:"+c.get(c.HOUR)+"時"+c.get(c.MINUTE)+"分"+c.get(c.SECOND)+"秒",10,25);
try {
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
repaint();
}
}
如果楼主用的是单线程的,楼上的可能导致整个程序暂停2秒,
建议楼主用javax.swing.Timer试试吧,或者在另外一个线程里调用paint(),并sleep()
import java.applet.*;
import java.util.Calendar;
public class pro extends Applet implements Runnable
{
public void paint(Graphics g)
{
Calendar c=Calendar.getInstance();
g.drawString("当前时间:"+c.get(c.YEAR)+"年"+c.get(c.MONTH)+"月"+c.get(c.DATE)+"日",10,10);
g.drawString("当前时间:"+c.get(c.HOUR)+"时"+c.get(c.MINUTE)+"分"+c.get(c.SECOND)+"秒",10,25);
}
public void run()
{
try
{
Thread.sleep(2000);
}
catch(Exception e){}
repaint();
}
}