私はこの仕事を与えられました。誰かが本当に助けてくれたら幸いです。次のような GMF を使用してグラフィカル モデルを作成しました。
ご覧のとおり、モデル内のノードの 1 つが選択されています。ここでのタスクは、いわゆる「City Node」の選択時に自動的に更新されるテーブルを使用して日食ビューを作成することです。モデルから推測できるように、テーブルにはすべての都市へのパス コストが含まれている必要があります。後で修正したダイクストラ アルゴリズムを含めるようにソリューションを拡張しますが、現在、テーブル ビューの作成に行き詰まっています。
TableViewer を使用して構築しようとしましたが、ContentProvider でテーブルの入力を設定する必要があるため、かなり複雑に見えますが、ここでのひねりは、City Coordinates を取得するために SelectionListener が必要であるためです (パスを計算するように命令されたため)。 -接続された 2 つの都市間の距離を最大速度で割ったコスト (グラフの接続道路に示されている) と現在選択されている都市の場合、経路コストは自動的に計算され、受信時に表に表示される必要があります。クリックイベントの。これは、選択が変更されるたびに ContentProvider に渡される入力を更新する必要があることを意味します。
詳細については、ISelectionListener インターフェイスの selectionChanged メソッドを介して現在の選択を取得し、このメソッド内で都市情報を配列リストに入れます。ただし、メソッドの外側でこのarraylistをパブリックとして宣言しましたが、メソッドの外側からアクセスできないようで、contentProviderを渡すことができません。結局、テーブルの入力は更新できません。私はこのテキストをできるだけシンプルに書こうとしましたが、皆さんが私を助けてくれることを願っています. 何をすべきか、今は予測できないので、本当にありがたいです。