原因が分かってしまえば他愛もないコーディングミスなのですが、数時間はまってしまいました。
Beansのバウンドプロパティを実装し、プロパティ"level"が更新されたら通知するものです。
class MyBean extends AbstractBean implements Runnable { : public void setLevel(int aLevel) { int oldLevel = level; level = aLevel; firePropertyChange("level", oldLevel, level); } public void run() { setLevel(++level); // levelをインクリメントし通知させるつもり } private int level; }
タイマーで定期的にrun()を呼ぶことでlevelが増えていくのですが、一向に通知が発生せず数時間はまりました。(おかげで、BeansBindingのコードにログを埋めまくり・・・。)
最初++levelでインクリメントするコードだったのを、バウンドプロパティで通知するためにsetLevelメソッドを呼ぶようにしたのですが、それが落とし穴でした。