ノードの選択


Display インスタンスに、FocusControlコントロールを追加すると、マウスクリック時に TupleSet が更新される。TupleSetListenerTupleSetの更新を監視して、アクションを起こす。
コントロールキーを押しながらクリックするとフォーカスが外れない。
FocusControl のコンストラクタ引数は、何回クリックすればフォーカスするかを設定する。

TupleSet focusGroup = m_vis.getGroup(Visualization.FOCUS_ITEMS); 
focusGroup.addTupleSetListener(new TupleSetListener() {
  public void tupleSetChanged(TupleSet ts, Tuple[] add, Tuple[] rem){
    for ( int i=0; i<rem.length; ++i ){
      ((VisualItem)rem[i]).setFixed(false);
    for ( int i=0; i<add.length; ++i ) {
      ((VisualItem)add[i]).setFixed(false);
      ((VisualItem)add[i]).setFixed(true);
    }
    if ( ts.getTupleCount() == 0 ) {
      ts.addTuple(rem[0]);
      ((VisualItem)rem[0]).setFixed(false);
    }
    m_vis.run("draw");
  }
});
 
display.addControlListener(new FocusControl(1));
 



最終更新:2009年02月06日 09:14