我在 java swing 中有一个简单的动画程序。但它不起作用。
try{
for(int i = 1; i<=500; i++){
ImageIcon icon = new ImageIcon("img\\COVERFront.jpg");
Image image = icon.getImage();
Image scaled = image.getScaledInstance(400, i, 0);
jLabel2.setIcon(new ImageIcon(scaled));
Thread.sleep(1000);
}
}
catch(InterruptedException ie){}
我在 netbeans 7.1 中工作。
最佳答案
根据您的代码,我了解到您正在尝试通过增加(放大)图标的大小来为图标制作动画。 但是,由于 hibernate 任务是在事件分派(dispatch)线程 (EDT) 上完成的,因此它会导致 GUI 卡住。因此,不应在事件调度线程上运行诸如 Thread.sleep() 之类的所有时间任务。
考虑使用 SwingUtilities或 timer
关于java - Thread.sleep(1000) 在 Swing 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13486803/