ダイアグラム・コンポーネントでツリーのデータ・モデルを表示するには、ツリー・データを SDM モデルに変換するデータ・モデルを作成する必要があります。
この例では、モデルは、 IlvAbstractSDMModel のサブクラスであるクラス
TreeSDMModel
によって実装されます。
以下のコード例にその定義を示します。public class TreeSDMModel extends IlvAbstractSDMModel { ...
ツリーのルート
グラフのノードは、クラス
TreeSDMNode
のインスタンスによって表されます。
TreeSDMModel
クラスは、以下のコード例に示すとおり、ツリーのルートを表すノードを作成し、そこへの参照を保持します。
private TreeSDMNode root; public TreeSDMModel(TreeModel treeModel) { root = new TreeSDMNode(treeModel, null, treeModel.getRoot()); }
グラフのトップレベルのオブジェクトを返すように要求されると、
getObjects
メソッドは、単一の要素のみ、すなわち、以下のコード例に示すように、ツリーのルートを返します。
public Enumeration getObjects() { Vector v = new Vector(); v.addElement(root); return v.elements(); }
モデルは編集不可
clear
メソッドを実装する必要がありますが、この例にある TreeSDMModel
クラスは編集不可なモデルを表しているため、このメソッドが呼び出されることはありません。
以下のコード例は、メソッド実装を示しています。
public void clear() { // Nothing, this model is immutable. } }