我需要执行/显示从 Arraylist 到 JTextArea 的一系列事件,但是,每个事件的执行时间不同。以下是我的目标的一个简单示例:
public void start(ActionEvent e)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
jTextArea.append("Test" + "\n");
try
{
Thread.sleep(3000);
} catch (InterruptedException e1)
{
e1.printStackTrace();
}
jTextArea.append("Test1" + "\n");
}
});
}
现在,整个执行完成后,“Test”和“Test1”将显示在 JTextArea 上。
如何让“Test”先显示,然后3秒后显示“Test1”
预先感谢大家
invokeLater
安排可运行对象在事件调度线程上运行。你不应该在其中睡觉,否则你会让调度线程挨饿。尝试使用单独的工作线程:
Thread worker = new Thread(new Runnable(){
public void run(){
jTextArea.append("Test" + "\n");
try {
Thread.sleep(3000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
jTextArea.append("Test1" + "\n");
}
});
worker.start();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)