ノード間の感覚をあけるように倍率を変更すると再描写するようにしたのだが...
最初数十回はイイ感じで動くんだけど、ずっとグリグリホイールボタンで倍率をいじってるとこんな感じで崩れる。最終的にはOSも巻き込みそーになる。
出たエラーがコレ。
org.eclipse.swt.SWTError: No more handles
確かにホイールをぐりぐりやってるとメモリがガンガン食っていくのをタスクマネージャで確認できた。一回の再描写でこの場合だと100個もノードがあるわけだしそれを数十回やってると何千個ものオブジェクトがヒープ上に存在することになってしまう。ScalableLayeredPaneのremoveAllメソッドだけじゃ中に突っ込んでるオブジェクトの廃棄はやってくれてないのかも。メモリ1G積んでるのでGCが働く前に割り付け不能になってるのかなぁ・・・。
#倍率変更するたびに再描写っていうのもなんだかなぁ...。
#もうちょぃ調査&テストしなければ...