有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在图像上设置延迟,然后将其删除

我正在编写一个游戏,当一张图片换成另一张图片时,我希望第二张图片在200毫秒后被删除,我真的需要一些帮助

我还是个初学者,非常感谢大家的帮助!回答的时候就好像你在和一个五岁的孩子说话一样

 public void setVisible(Boolean visible) {
    ImageIcon ii = new ImageIcon(this.getClass().getResource(explode));

    image = ii.getImage();

    //this.visible = visible; 
    /*WITH THIS LINE OF CODE THE EXPLODE DOES NOT SHOW AT ALL,
    I WANT TO MAKE SURE IT SHOWS BUT ONLY FOR 200MS*/
}

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    你可以使用一个预定的线程。你可以用ScheduledExcecutorService来表示

    private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
    
    
    public void displayImageFor200Ms(){
        ImageIcon ii = new ImageIcon(this.getClass().getResource(explode));
        image = ii.getImage();
    
        scheduler.schedule(new Runnable() {
            public void run() {  
                // remove image now!
            }
        }, 200 , TimeUnit.MILLISECONDS);
    }
    

    当你不再需要调度程序时,不要忘记关闭它(你可以使用一个全局的、池式的调度程序来处理所有延迟的操作,并在游戏结束时关闭它)