使 Graphics2D 文本延迟闪烁

Make Graphics2D Text Blink with Delay

我有一个绘制方法,使用 Graphics2D 对象将字符串绘制到屏幕上。我在draw方法中设置了一个if语句,让文字每秒绘制一次(闪烁效果),但是文字会绘制一秒钟,然后不只绘制一帧,继续绘制。我想让它画一秒钟,然后再画一秒钟等等。

这是方法 -

long elapsed = (System.nanoTime() - blinkTimer) / 1000000;
    if(elapsed < 1000){
        // g.drawString("",x,y); Draw String Here
    }else{
        blinkTimer = System.nanoTime();
    }

blinkTimer 在构造函数中被初始化为 System.nanoTime();

我想在不使用 Java Timer 对象的情况下完成此操作。提前致谢!

添加了一个额外的计时器 -

long elapsed = (System.nanoTime() - blinkTimer) / 1000000;
    if(elapsed < 1000){
        //g.drawString("",x,y); Draw String Here
        breakTimer = System.nanoTime();
    }

    long breakElapsed = (System.nanoTime() - breakTimer) / 1000000;
    if(breakElapsed > 500){
        blinkTimer = System.nanoTime();
    }