jp.go.aist.dmrc.platform.beans.diagram
クラス PFNetworkCanvas

java.lang.Object
  拡張java.awt.Component
      拡張java.awt.Canvas
          拡張jp.go.aist.dmrc.platform.beans.diagram.PFNetworkCanvas
すべての実装インタフェース:
javax.accessibility.Accessible, java.lang.Cloneable, java.awt.image.ImageObserver, java.awt.MenuContainer, PFXMLSerializable, java.io.Serializable

public class PFNetworkCanvas
extends java.awt.Canvas
implements java.io.Serializable, java.lang.Cloneable, PFXMLSerializable

ネットワークダイアグラム描画用キャンバス
 ネットワークダイアグラム表示・編集コンポーネントPFNetworkDiagramの実装クラ スで、階層型ネットワークの表示と同時に、ネットワークを編集するためのインタフェースを 提供します。階層型ネットワークとは、ネットワーク上のノードとして、その下位層となるサ ブネットワークを設定することができるものを意味します。そのようなノードを、「サブネッ トワークと関連したノード」と呼ぶことにします。
 表示されるネットワークの実体データはPFObjectNetworkオブジェクトです。ノードは PFObjectNetworkNodeオブジェクト、エッジはPFObjectNetworkEdgeオブジェク トにそれぞれ対応します。
 ネットワークダイアグラムは無向グラフ、有向グラフ、2部グラフに対応します。エッジの 有向・無向の属性変更や2部グラフのノード種別の変更も行うことができます。
 このクラスオブジェクトは、パネルやフレームなどの通常のコンテナコンポーネントに配置し て使うこともできます。

マウス操作

  1. 左シングルクリック
    ノード
     ノードの選択。クリックされたノードオブジェクトを選択データとして内包する データ選択イベント[No.1]を発生。
    エッジ
     エッジの選択。クリックされたエッジオブジェクトを選択データとして内包する データ選択イベント[No.2]を発生。
    背景
     選択解除。

  2. 左ダブルクリック
    サブネットワークノード
     下位のネットワークへ移動。移動先ネットワークオブジェクトを選択データとして内包する データ選択イベント[No.3]を発生。
    通常ノード
     クリックされたノードオブジェクトを選択データとして内包する データ選択イベント[No.4]を発生。
    エッジ
     クリックされたエッジオブジェクトを選択データとして内包する データ選択イベント[No.5]を発生。
    背景
     ノードの新規作成。新しく作成されたノードオブジェクトを内包データとする データ生成イベント[No.1]を発生。

  3. シフトキー+左ダブルクリック
    通常ノード
     ノードの種別反転(2部グラフ対応)。クリックされたノードオブジェクトを更新データとして内包する データ更新イベント[No.1]を発生。
    エッジ
     エッジの有向・無向の切り替え。クリックされたエッジオブジェクトを更新データとして内包する データ更新イベント[No.2]を発生。
    背景
     2部グラフ対応用サブノードの新規作成。新しく作成されたエッジオブジェクトを内包データとする データ生成イベント[No.1]を発生。

  4. コントロールキー+左ダブルクリック
    エッジ
     エッジの始点と終点を反転。クリックされたエッジオブジェクトを更新データとして内包する データ更新イベント[No.2]を発生。
    背景
     サブネットワークノードの新規作成。新しく作成されたサブネットワークノードオブジェクトを 内包データとするデータ生成イベント[No.3]を発生。

  5. 左ドラッグ
     ノードの移動。

  6. 右シングルクリック
     属性設定メニューの表示。
    ノード
     ノードを選択し、その属性設定メニューを表示。クリックされたノードオブジェクトを 選択データとして内包するデータ選択イベント[No.1]を発生。
     メニューから属性が変更された場合、クリックされたノードオブジェクトを更新データとして 内包するデータ更新イベント[No.1]を発生。
    エッジ
     エッジを選択し、その属性設定メニューを表示。クリックされたエッジオブジェクトを 選択データとして内包するデータ選択イベント[No.2]を発生。
     メニューから属性が変更された場合、クリックされたエッジオブジェクトを更新データとして 内包するデータ更新イベント[No.2]を発生。
    背景
     ノードまたはエッジが選択されているとき、その属性設定メニューを表示。ノードもエッジも 選択されておらず、かつアプリケーションビルダーから実行(設定可)で起動されたとき、 コンポーネントの属性設定メニューを表示。

  7. 右ダブルクリック
     選択解除。

  8. 右ドラッグ
     無向エッジを作成。作成されたエッジオブジェクトを内包データとする データ生成イベント[No.2]を発生。

  9. シフトキー+右ドラッグ
     有向エッジを作成。作成されたエッジオブジェクトを内包データとする データ生成イベント[No.2]を発生。

キー操作
  1. DeleteキーおよびBack Spaceキー
     選択されたノードあるいはエッジを削除。ノードを削除した場合、 そのノードを端点とするエッジもすべて削除。
     通常ノードを削除した場合、削除されたノードオブジェクトを更新データとして内包する データ更新イベント[No.-1]を発生。
     サブネットワークノードを削除した場合、削除されたサブネットワークノードオブジェクトを 更新データとして内包するデータ更新イベント[No.-3]を発生。
     エッジを削除した場合、削除されたエッジオブジェクトを更新データとして内包する データ更新イベント[No.-2]を発生。ただし、ノードの削除に 伴って削除されたエッジについては、イベント発生なし。

  2. Page Upキーおよび↑キー
     上位のネットワーク層へ移動。移動先ネットワークオブジェクトを選択データとして内包する データ選択イベント[No.3]を発生。

イベント一覧

関連項目:
直列化された形式

入れ子クラスの概要
 
クラス java.awt.Canvas から継承した入れ子クラス
java.awt.Canvas.AccessibleAWTCanvas
 
クラス java.awt.Component から継承した入れ子クラス
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
フィールドの概要
 java.lang.String[] nodeShape
          ノード輪郭形状一覧
 java.lang.String NONE
          輪郭なし
 java.lang.String OVAL
          楕円
 java.lang.String RECT
          矩形
 java.lang.String ROUNDRECT
          角丸矩形
 
クラス java.awt.Component から継承したフィールド
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
インタフェース java.awt.image.ImageObserver から継承したフィールド
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
コンストラクタの概要
PFNetworkCanvas()
          キャンバス生成
 
メソッドの概要
 void erase()
          領域を背景色で塗りつぶす。
 java.lang.String expr()
          階層型オブジェクトネットワークの文字列表現を取得する。
 PFObjectNetwork getCurrentObjectNetwork()
          描画中のオブジェクトネットワークを取得する。
 java.lang.String getLabel()
          描画中のネットワーク層のラベルを取得する。
 java.lang.String getLabelFullPath()
          描画中のネットワーク層のラベルをフルパスで取得する。
 PFObjectNetwork getObjectNetwork()
          階層型オブジェクトネットワークを取得する。
 PFObjectNetworkNode getSelectedNodeObject()
          選択されているオブジェクトノードを取得する。
 void paint()
          領域を描画する。
 void paint(java.awt.Graphics g)
          領域を描画する。
 void readXML(PFXMLLoader in)
          コンポーネントのXML入力.
 void setObjectNetwork(PFObjectNetwork net)
          階層型オブジェクトネットワークを描画する。
 void toUpperLayer()
          上位のネットワーク層へ移動する。
 void writeXML(PFXMLGenerator out)
          コンポーネントのXML出力.
 
クラス java.awt.Canvas から継承したメソッド
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy, update
 
クラス java.awt.Component から継承したメソッド
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

NONE

public final java.lang.String NONE
輪郭なし


RECT

public final java.lang.String RECT
矩形


ROUNDRECT

public final java.lang.String ROUNDRECT
角丸矩形


OVAL

public final java.lang.String OVAL
楕円


nodeShape

public final java.lang.String[] nodeShape
ノード輪郭形状一覧

コンストラクタの詳細

PFNetworkCanvas

public PFNetworkCanvas()
キャンバス生成

メソッドの詳細

getLabel

public java.lang.String getLabel()
描画中のネットワーク層のラベルを取得する。

戻り値:
ネットワーク層のラベル

getLabelFullPath

public java.lang.String getLabelFullPath()
描画中のネットワーク層のラベルをフルパスで取得する。

戻り値:
ネットワーク層のラベル

setObjectNetwork

public void setObjectNetwork(PFObjectNetwork net)
階層型オブジェクトネットワークを描画する。

パラメータ:
net - 階層型オブジェクトネットワーク

getObjectNetwork

public PFObjectNetwork getObjectNetwork()
階層型オブジェクトネットワークを取得する。

戻り値:
階層型オブジェクトネットワーク

getCurrentObjectNetwork

public PFObjectNetwork getCurrentObjectNetwork()
描画中のオブジェクトネットワークを取得する。

戻り値:
オブジェクトネットワーク

expr

public java.lang.String expr()
階層型オブジェクトネットワークの文字列表現を取得する。

戻り値:
階層型オブジェクトネットワークの文字列表現

toUpperLayer

public void toUpperLayer()
上位のネットワーク層へ移動する。


getSelectedNodeObject

public PFObjectNetworkNode getSelectedNodeObject()
選択されているオブジェクトノードを取得する。

戻り値:
選択されているオブジェクトノード

paint

public void paint()
領域を描画する。


paint

public void paint(java.awt.Graphics g)
領域を描画する。

パラメータ:
g - グラフィックコンテキスト

erase

public void erase()
領域を背景色で塗りつぶす。


readXML

public void readXML(PFXMLLoader in)
コンポーネントのXML入力.

定義:
インタフェース PFXMLSerializable 内の readXML
パラメータ:
in - XML入力ユーティリティ

writeXML

public void writeXML(PFXMLGenerator out)
              throws java.io.IOException
コンポーネントのXML出力.

定義:
インタフェース PFXMLSerializable 内の writeXML
パラメータ:
out - XML出力ユーティリティ
例外:
java.io.IOException