此 jSlider 代码导致应用程序挂起。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
for(int i=0;i<100;i++)
{
jSlider1.setValue(i);
Thread.sleep(3000);
}
} catch (InterruptedException ex) {
Logger.getLogger(AsdView.class.getName()).log(Level.SEVERE, null, ex);
}
}
谢谢大家,我正在更新答案
Timer time = new Timer(100, new ActionListener() {
int percent = 0;
@Override
public void actionPerformed(ActionEvent e) {
percent++;
if (percent>100)
percent = 0;
jSlider1.setValue((int)(100*(percent/600.0)));
}
});
time.start();
最佳答案
我猜你正在尝试做某种平滑滚动。
该代码卡住是因为处理窗口绘制、调整大小等的事件线程被您执行 Thread.sleep(3000) 100 次而卡住。
我建议您使用 Swing timer一点一点地改变滚动条。
关于java - jSlider 代码导致应用程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5821983/