java drawoval用法_求教:JAVA中如何用timer.schedule方法控制g.drawOval,每隔3秒绘制一个圆?...

下面这个程序运行起来,为什么每隔5秒会执行一次publicvoidrun()中的其它行代码,但就是不会执行publicvoidrun()中的g.drawOval(x,y,20,20)这一行代码?importjavax.swing.*;importja...

下面这个程序运行起来,为什么每隔5秒会执行一次public void run()中的其它行代码,但就是不会执行public void run()中的g.drawOval(x,y,20,20) 这一行代码?

import javax.swing.*;

import java.awt.*;

import java.util.*;

public class Test0804 extends JFrame{

public Test0804(){

TestPanel tp=new TestPanel();

add(tp);

}

public static void main(String[] args) {

Test0804 e=new Test0804();

e.setTitle("*** Test0804 ***");

e.setSize(300,300);

e.setLocationRelativeTo(null);

e.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

e.setVisible(true);

}

}

class TestPanel extends JPanel{

int x=0;

int y=0;

java.util.Timer timer=new java.util.Timer();

public void paintComponent(Graphics g){

super.paintComponent(g);

g.drawString("delay test",x,y);

x+=20;

y+=20;

timer.schedule(new TimerTask(){

public void run(){

g.drawOval(x,y,20,20);

x+=20;

y+=20;

System.out.println(x+" , "+y);

if(x>=100)

timer.cancel();

}

},5000,3000);

}

}

上面有个笔误,是每隔3秒绘制一个圆,不是5秒。

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值