Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以延迟程序的特定部分吗?_Java_Swing - Fatal编程技术网

Java 我可以延迟程序的特定部分吗?

Java 我可以延迟程序的特定部分吗?,java,swing,Java,Swing,我可以延迟程序的特定部分而不延迟整个线程吗?e、 g pcard3.setIcon(new ImageIcon("resources/images/cards/"+playerCard3+".gif")); 在设置JLabel的图标之前,我是否可以等待5秒钟?您是否可以在单独的线程中呈现UI组件,以便在其中放置5秒钟的延迟不会影响程序的其余部分 您不能在单独的线程中呈现UI组件,这样,如果您在其中放置5秒钟的延迟,它就不会影响程序的其余部分 这就是为什么。有关更多详细信息,请参见 这就是为什么

我可以延迟程序的特定部分而不延迟整个线程吗?e、 g

pcard3.setIcon(new ImageIcon("resources/images/cards/"+playerCard3+".gif"));

在设置
JLabel
的图标之前,我是否可以等待5秒钟?

您是否可以在单独的线程中呈现UI组件,以便在其中放置5秒钟的延迟不会影响程序的其余部分

您不能在单独的线程中呈现UI组件,这样,如果您在其中放置5秒钟的延迟,它就不会影响程序的其余部分

这就是为什么。有关更多详细信息,请参见

这就是为什么。有关更多详细信息,请参见

我建议将其用于此类任务(一次性或重复性任务)

Timer timer = new Timer(5000, new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        label.setIcon(...);
    }
});
timer.setRepeats(false);
timer.start();

 
 
我建议将其用于此类任务(一次性或重复性任务)

Timer timer = new Timer(5000, new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        label.setIcon(...);
    }
});
timer.setRepeats(false);
timer.start();

 
 

你需要为此创建一个新线程。你需要为此创建一个新线程。我会澄清一下,并说这正是SwingWorker的用途。你如何实现SwingWorker的5秒延迟?摆动计时器不是更合适吗?@Paul Cager,只需调用
Thread.sleep(5000)
,尽管你是对的,摆动计时器绝对是更好的选择。不幸的是,
SwingWorker
首先出现在我的脑海中我会澄清一点,说这正是SwingWorker的目的。你如何实现SwingWorker的5秒延迟?摆动计时器不是更合适吗?@Paul Cager,只需调用
Thread.sleep(5000)
,尽管你是对的,摆动计时器绝对是更好的选择。不幸的是,
SwingWorker
首先出现在我的脑海中只要你在上更新。只要你在上更新。