我是初学java的新手
我在重写的paint方法中加入了一个计时器,想要在绘出文字3秒之后,绘制出新的文字
paint部分的代码如下:
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
//设置背景颜色为灰色
this.setBackground(Color.gray);
//属性设置
g.setColor(Color.white);
Font fLevel = new Font("黑体", 0, 100);
g.setFont(fLevel);
//输出字
g.drawString("测试", 280, 300);
//暂停三秒钟
Timer t = new Timer(true);
t.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
//用新的矩形覆盖原来的界面
g.setColor(Color.gray);
g.fillRect(0, 0, 800, 600);
//输出延迟3秒后的字
g.drawString("测试", 20, 20);
}
}, 3000);
然而这样并没有什么反应,依旧是原来的文字。
我试着将run方法中的代码改为
system.out.println("测试");
却成功地在3秒后输出了。
请问这是什么原因?
忽然笑
相关分类