2

私はJava Beansを使用しています

 firePropertyChange(String propertyName, Object oldValue,
        Object newValue)

データの更新を Swing GUI に伝播します。

他のすべての値で機能しますが、newValue が null の場合、イベントは送信されません。これを修正する方法はありますか?

4

1 に答える 1

3

実際には、次の述語が当てはまる場合、プロパティの変更は実行されません。

oldValue != null && newValue != null && oldValue.equals(newValue)

したがって、結果は予期しないものではありません。null概念的には、誤った更新を最小限に抑えるだけでなく、設定されていないプロパティと、おそらく誤って設定されたプロパティを区別することも理にかなっています。これ以上のコンテキストがなければ、代替案を提案することは困難ですが、意図的になった値を示すために番兵の値を使用する場合があります。null

于 2012-07-02T19:44:09.017 に答える