- 1 名前:デフォルトの名無しさん [04/04/09 22:24]
- 統合開発環境Eclipse用プラグイン開発に関する質問と回答です。
Eclipseの使い方や、プラグインの使い方は、 このスレでは扱いませんので、↓のほうへどうぞ。 pc5.2ch.net/test/read.cgi/tech/1076074293
- 682 名前:デフォルトの名無しさん mailto:c@asaa [2007/06/14(木) 00:22:35 ]
- Re : 681
(×)Tableを削除し・・・→Tableは削除されない。 (○)clearAll()が呼ばれるとTable内に含まれるすべてのTableItemのインスタンスの イメージとテキストを初期化し・・・addを呼び出すとさらに TableItemのインスタンスが4つ作成されます。プログラマーが これにデータを表示するようセットした。ところがSWTでは特殊な設定をしないとコンストラクト した順に優先が決まるのでTableのTabaleItemのリストの優先順位は 前の4つが高い。ゆえにこのプログラムをrunすると "なぜか上4行が空欄、下5〜8行目に目的のデータが挿入される " というわけです。 clearAll()ではなくremoveAll()を呼んでみる。
- 683 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 10:55:23 ]
- >>681
ContentProvider#getElements()で clearした後に4行のデータを挿入したドメインデータを返すようにしてから、 TableViewer#refresh() を呼べばよい。
- 684 名前:683 mailto:sage [2007/06/14(木) 11:00:57 ]
- つーかドメインデータとViewの表示を同期したいなら、
ドメインモデルにListenerつけて、 ドメインモデルが変更かかる度にViewer#refresh()するようにした方が良いよ。 もしくはJFace Data Bindingの ObservableListContentProviderとWritableListを使うとか。
|

|