>>227
あの処理であのサイズの進捗バーの表示を10000001回更新することの無意味さが分かってる上でのコーディングだからね。
進捗バーを使って202が実際にやろうとしている処理は"遅い"ということになる。
やるなら227が例示しているように100000回に1回程度の更新でいい。これだと表示は十分スムーズになる。

でも、実際に動作するかどうか別として、invokeLaterが必要ないと言い切るのは非行だ。
> Once a Swing component has been realized, all code that might affect or depend on the
> state of that component should be executed in the event-dispatching thread.
はSwingでの基本ルールだし、setValueには「このメソッドはスレッドに対して安全です」表示がない。
例えば218の後半の方法を使うなら、
jProgressBar.setMaximum(10000000);
はそのままで、
for (int i = 0; i <= 10000000; i++) {
j++;
hoge.setValue(j);
if (j % 100000 == 0)
javax.swing.SwingUtilities.invokeLater(hoge);
}
のようにinvokeLaterを使うべきじゃないかね? 処理が遅くなることはない。
この場合、jProgressBar.setMaximum(100);でsetValue(i/100000)でも同じ効果なのでそれでもいいが、
どうせ進捗バーの中でスケーリングされるんだから素直にjの値を使うということで。