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