私はJavaFXでメッセンジャーを開発しています。ObservableListのアイテムのプロパティの変更を観察する方法
Contact
は、User
と最後のMessage
という2つの主な特性を持っています。
は私が最新のメッセージと連絡先の
- リスト私は2つのソリューションにこれまで
まず解決来た
名でソート連絡先の
Contact
を不変にすることです。新しいメッセージが到着するか、ユーザーの情報が変更されるたびに連絡先を置き換える必要があります。それは動作しますが、連絡先は更新時ListViewでを点滅させます。 第二の溶液がObjectProperty
を使用することです:
public class Contact {
private final ObjectProperty<User> user = ...;
private final ObjectProperty<Message> lastMessage = ...;
}
その場合、私はContact
がに/リストから削除/追加されたときにContact
年代のプロパティにリスナーを追加/削除するカスタムObservableListを作成する必要があります。両方のリストを自動的にソートする必要があるためです。
したがって、両方のソリューションには欠点があります。
私の目標を達成するための推奨事項を教えてください。 FXCollections
クラスで
[Java 8 SortedList TableViewがリフレッシュしない]の複製があります(http://stackoverflow.com/questions/21171948/java-8-sortedlist-tableview-not-refreshing) – kleopatra
はい、これはまったく同様の問題ですまったく同じ治療法;-) – kleopatra