bracketをつかった配列の初期化をいまいち把握していなかったので、調べてみた。{0};これはxsの要素がすべて0に初期化される。{};これでもxsの要素がすべて0に初期化されるらしい。最近までこの書き方は知らなかった。いうことは{}の中で指定されなかった要素は0になるということかと予想してみる。bracketの要素数を配列のサイズより大きくすることはできない。bracketの要素数を配列のサイズより小さくすることはできる。その場合、値が指定されなかった残りの要素はデフォルト値で初期化される。件のコメント:2013年7月27日土曜日Swingで繰り返しRepaintするときはTimerを使うSwingで定期的に画面を再描画するような処理を書いていてはまったので、メモを残しておきます。結論から言うと、javax.swing.Timerを使うとやりたいことができました。最初処理を書いたときは、Thread.sleep()でスレッドを一時停止するrepaintを呼んで再描画するをSTOPボタンが押されるまで繰り返すという書き方(参考URL[2]にあるような書き方)をしていたのですが、これだと思った動作ができませんでした。調べてみると、Thread.sleep()は、実行中のスレッドをスリープさせる。このときスリープするスレッドは保持しているロックを開放しない[1]。その結果、repaintリクエストは実行されることなくキューに溜まっていく。STOPボタン押下時にはじめてキューにたまったrepaintが実行可能となる。実行されてないrepaintリクエストが複数個ある場合は、一つにまとめられて最後のrepaintメソッドだけが実行される。(もしくは設定によってはキューに溜まったrepaintがすべて間隔をあけることなく一瞬で実行される。)思った動作にはならない。いうことが起きていました。だいたい毎日終電帰り。楽しみと言ったら、帰りにコンビニによってビールとつまみを買って家で一人晩酌するくらい。