我似乎无法理解为什么在使用某些值时 JProgressBar 会冻结并停止计算。例如,下面的代码将始终只显示零;
...
int value = (100/maxGenerations)*i; //maxGenerations = 2500
final int barValue = value;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
progressBar.setValue(barValue);
}
});
但是,如果使用相同的实现,我执行以下操作(当然不像垃圾计算那样准确):
...
int value = (i/100); //where 'i' increments until = 2500
final int barValue = value;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
progressBar.setValue(barValue);
}
});
任何想法为什么?