少し問題があり、助けを求めています。
マスター部分にがTableViewer
あり、非常に迅速に更新するエントリがたくさんあります。詳細ページには、選択したアイテム情報が表示されます。この詳細ページを永続化し、選択が変更されたときにのみ通知されるようにしたいと思います。
私が直面している問題は、新しいアイテムがテーブルビューアに追加されると、選択が自動的に変更されることです。
TableViewer
編集:私は、の入力であるリストの先頭に新しいアイテムを追加して、を更新するハンドラーを持っていTableViewer
ます。
TableViewer
選択範囲がインデックスにあり、アイテムが追加されている場合SWT.VIRTUAL
、選択された行は同じですが、アイテムが移動しています。
TableViewer
がない場合SWT.VIRTUAL
、オブジェクトで選択が行われますが、パフォーマンスは非常に低くなります。
何かアドバイスはありますか?ありがとうございました
public void update(Object obj_p) {
if (obj_p instanceof IMessageEvent) {
IMessageEvent event = (IMessageEvent) obj_p;
synchronized (_currentListEvents) {
_currentListEvents.addFirst(event);
if (_currentListEvents.size() > _maxEvents) {
_currentListEvents.removeLast();
}
}
}
if (null == obj_p) {
synchronized (_currentListEvents) {
_currentListEvents.clear();
}
}
}