入れ子マネージャーの追加

IlvManager クラスは、 IlvGraphic クラスから継承するため、他のグラファー・オブジェクトと同様に、マネージャーおよびグラファーを別のマネージャーまたはグラファーに追加できます。マネージャーにマネージャーを追加するには、IlvManager クラスの addObject メソッドを使用します。

例: 入れ子マネージャーの追加

次のコードは、簡単な入れ子マネージャーを示しています。
import ilog.views.*;
import ilog.views.graphic.*;
import javax.swing.*;
import java.awt.*;

public class SubManagerExample
{
  public static void main(String[] args) {
    IlvGraphic obj;
    IlvManager toplevel = new IlvManager();
    IlvManager subManager = new IlvManager();

    obj = new IlvRectangle(new IlvRect(10,10,50,50), false, true);
    subManager.addObject(obj, false);
    obj = new IlvRectangle(new IlvRect(100,100,50,50), false, true);
    subManager.addObject(obj, false);

    toplevel.addObject(subManager, false);

    obj = new IlvRectangle(new IlvRect(10,200,50,50), false, true);
    toplevel.addObject(obj, false);

    final IlvManagerView view = new IlvManagerView(toplevel);
    view.setBackground(Color.blue);
    SwingUtilities.invokeLater(
      new Runnable() {
        public void run() {
          JFrame frame = new JFrame("Sub manager Example");
          frame.getContentPane().add(view);
          frame.setSize(200,200);
          frame.setVisible(true);
        }
      });
}
この例では、ビューに表示される上位レベル・マネージャー (変数 toplevel) とサブマネージャー (変数 subManager) の 2 つの IlvManager オブジェクトを作成します。サブマネージャーは上位レベル・マネージャーに次の行で追加されます。
toplevel.addObject(subManager, false);
2 つの矩形もサブマネージャーに追加されます。もう 1 つの矩形が上位レベルで追加されます。
次の図は結果のアプリケーションを示します。
subgraph2.gif
サブマネージャーの例
白い領域は 2 つの矩形を含むサブマネージャーです。
メモ
マネージャーに追加できるレベルに制限はありません。ライブラリーでは、 入れ子マネージャーの階層が循環しないようにします。