問題タブ [propertychangesupport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - PropertyChangeSupport and equals method
I'll try to explain my problem as clear as possible :). I am using PropertyChangeSupport to notify registered views for changes in the properties. One of the property is an object which properties are changed every view seconds. I don't want to create for this particular object new instance every time it is being updated (for the propertychangelistener to notice the change), so I wrote my own equals method where I ommit the comparation to itself.
Unfortunatelly that doesn't have the effect I was looking for. If I create a copy of the object and fire the property change method on it, then it works fine.
What am I missing here?
-- Edit
I realized, that since I am using the same instance and not a copy of it, the properties are pointig the same place, thus the comparation would always come out true. Is there a workaround to that (besides creating a copy). Or how bad is to create a copy of an object every second, eg.
java - Java PropertyChangeSupport が異なるプロパティに対して起動しない
Swing 用の独自の JavaBean を開発しました。今、PropertyChangeListener を使用して、変更時に 2 つのプロパティをキャッチしようとしています。
問題は、JavaBean 内のプロパティの 1 つの PropertyChangeSupport が正常に機能することですが、他の宣言されたプロパティの propertyChange を起動していないようです。
私のコードの抜粋をいくつか紹介しましょう。
JCalendar Bean:
もちろん、Bean クラスにはさらにコードがありますが、わかりやすくするために省略しています。次のような別のクラスの PropertyChangeListener を使用して、これらの propertyChanges をキャッチしようとします。
これまでのところ、すべてが正しいようです。しかし、何らかの理由で、PropertyChangeSupport は、startDay が変更されたときにのみ propertyChange を発生させます。endDay を変更するとすぐに setEndDay メソッドが呼び出されますが、起動される propertyChange はないようです。どのメソッドが呼び出されたかを確認するために、単純な System.out.println() を使用してすべてのイベントをログに記録し、次のことを確認しました。
- PropertyChangeListener が適切に追加され、startDay が変更されたときに機能します
- setStartDay() および setEndDay() メソッドが適切に呼び出される
- setEndDay() が呼び出されると、propertySource「endDay」を持つ propertyChangeEvent は設定されません
これを数時間試してみましたが、何が問題なのかわかりません。うまくいけば、ここの誰かが私を助けてくれます。
scala - PropertyChangeListenerをサポートする@BeanProperty?
@BeanProperty
シンプルなget
/set
メソッドを生成します。プロパティ変更イベントの発生をサポートするメソッドを自動的に生成する方法はありますか (たとえば、JFace Databinding で使用したいですか?)
java - Java は、PropertyChangeSupport および PropertyChangeListener を使用して変数の変更を検出します
サードパーティのコードが変数を変更したときに、デバッグ ステートメントを出力しようとしています。たとえば、次のことを考慮してください。
サード パーティの MysteryClass を変更する機能がないため、PropertyChangeSupport と PropertyChangeListener を使用して secretCounter の変更を検出できると考えました。
残念ながら、これは機能せず、デバッグ メッセージが出力されませんでした。PropertyChangeSupport および Listener インターフェースの私の実装の何が問題なのか、誰にも分かりますか? incrementCounter が呼び出されるか、secretCounter の値が変更されるたびに、デバッグ ステートメントを出力したいと考えています。
data-binding - Scala フィールドとプロパティ変更イベントについて
Scala の @BeanProperty が変更イベントを生成することに関するこの質問のフォローアップとして: var フィールドに何らかのカスタム アノテーション (たとえば、@Property) を付けると、プロパティ変更イベントを発生させるために必要なコードが生成されるという動作を完全に実装するには、何が必要でしょうか? それを行う唯一の方法は、コンパイラ プラグインを作成することですよね?
より一般的に: Scala のコンパイラで注釈を処理する標準的な方法 (Java など) はありますか?
java - JTable データ変更イベントの処理方法
List プロパティにバインドされた JTable があります。NetBeans を使用して jpanel フォームにプロパティを追加し、propertyChangeSupport を有効/チェックして、jTable をそのプロパティにバインドしました。テーブルはデータを完全に表示しています。セルをダブルクリックしてその内容を編集することによってこのテーブルのデータが変更されたときに、「保存」ボタンを有効/無効にする方法を教えてください。
java - SpinnerNumberModelのPropertyChangeSupport
JSpinnerのSpinnerNumberModelの値の変化を聞きたいです。
PropertyChangeSupportを作成し、それにモデルを配置します。
プロパティの新旧の値が表示されるため、propertyChangeListenerが必要です。
スニペットが機能しませんpropertyChange
。JSpinnerをクリックしても、メソッドは何も出力しません。
単純なChangeListenerは新しい値のみを提供しますが、古い値も必要です。どうすれば取得できますか?
java - PropertyChangeListenerへの弱い参照を持つPropertyChangeSupport?
Java は、登録されたPropertyChangeListenersへの弱い参照を使用してPropertyChangeSupportの実装を提供していないようです。
これを実装するのはそれほど難しくありませんが、車輪を再発明する前に、そのような機能がオープンソース ライブラリに実装されているかどうかを知っている人はいますか? そうは思えませんが、誰かが SO についてよく知っているかもしれません。
java - カスタム オブジェクトのプロパティが変更されたときに JLabel を更新する
Java クラスがあり、そのプロパティの 1 つを Swing デスクトップ アプリケーションの JLabel で表示したい:
アイテムの数量プロパティが変更されるたびに、ラベルのテキストを更新するにはどうすればよいですか?
java - 周期的なプロパティ変更リスナー
周期的なプロパティ変更リスナーをセットアップしました。クラス A の 2 つのオブジェクトがあります。1 つのオブジェクトが他のオブジェクトの変更をリッスンするようにしました。コードは次のとおりです。
コードは機能し、これが出力です。
私はそれがどのように行うのだろうか?それは私にスタックオーバーフローエラーを与えるべきではありませんか? 最初の A が更新されると、2 番目の A に通知し、次に 2 番目の A が更新され、最初の A に通知します。これは永遠に続くはずです。