特定の値を操作すると、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);
}
});
なぜアイデアはありますか?