メソッド 
       | 
      
				説明 
       | 
    
    
      
				コンストラクタ 
       | 
      
				public ShapeContainer() 
				PaintStyleオブジェクトを作成し設定する。 
       | 
    
		
      
				getContainerType 
       | 
      
				public int getContainerType() 
				単一図形を格納するShapeContainerのときShapeContainer.SHAPEを返す。グループ図形のときShapeContainer.GROUP
				を返す。 
       | 
    
    
      
				getShapeId 
       | 
      
				public String getShapeId() 
				フィールド変数shapeIdを返す。 
       | 
    
    
      
				setShapeId 
       | 
      
				public void setShapeId(String shapeId) 
				フィールド変数shapeIdに設定。 
				このメソッドは SerializableElementUtil 
				オブジェクトと、 ContainerManager.backup 
				メソッドだけから呼ばれる。 
       | 
    
    
      
				setNewShapeId 
       | 
      
				public void setShapeId(ContainerManager manager, boolean withChildren) 
				引数: 
				manager - ContainerManager オブジェクト. 
				withChildren - trueでかつこのオブジェクトがグループならば、
				このオブジェクトの子図形(ShapeContainer)にも新しいshapeIdを設定する。 
				処理: 
				shapeIdを作成し shapeId に設定する。 
				図形のシリアル番号を ContainerManager.getUniqueSerialNumber
				で取得し、configureShapeIdを呼んでshapeIdを作成する。 
       | 
    
    
      
				configureShapeId 
       | 
      
				private String configureShapeId(int number) 
				引数: 
				number - シリアル番号 
				戻り値: 
				shapeIdを返す。 
				処理: 
				ShapeElement.getShapeIdStringの戻り値と、
				引数 numberからshapeIdを構成し戻り値で返す。 
       | 
    
    
      | getSerialNumber | 
      
				public int getSerialNumber() 
				戻り値: 
				ContainerManager.getUniqueSerialNumberメソッドで生成されたシリアル番号を返す。 
				Processing; 
				shapeIdからシリアル番号を取り出す。 
       | 
    
    
      getSerialNumber 
				(static) | 
      
				public static int getSerialNumber(String shapeId) 
				引数: 
				shapeId - The shape id. 
				戻り値: 
				ContainerManager.getUniqueSerialNumber
				メソッドで生成されたシリアル番号を返す。 
				処理; 
				shapeIdからシリアル番号を取り出す。 
       | 
    
    
      | getContainerIndex | 
      
				public int getContainerIndex() 
				フィールド変数containerIndexを返す。 | 
    
    
      | setContainerIndex | 
      
				public void setContainerIndex(int containerIndex) 
				フィールド変数containerIndexに設定。 | 
    
    
      
				getParent 
       | 
      
				public ShapeContainer getParent() 
				グループに所属する場合、親オブジェクト(フィールド変数parent)を返す。 
       | 
    
    
      
				setParent 
       | 
      
				public void setParent(ShapeContainer parent) 
				親要素を設定する。グループ化のメソッドContainerManager.groupで設定する。 
       | 
    
    
      
				getTopParent 
       | 
      
				public ShapeContainer getTopParent() 
				このオブジェクトの親がなければこのオブジェクトを返す。そうでなければ親のgetParentメソッドを再帰的に呼び出し最上位の親を返す。 
       | 
    
    
      
				getElement 
       | 
      
				public ShapeElement getElement() 
				このShapeContainerの図形要素(フィールド変数element)を返す。 
       | 
    
    
      
				setElement 
       | 
      
				public void setElement(ShapeElement element) 
				このShapeContainerに図形要素を設定する。 
       | 
    
    
      
				getMode 
       | 
      
				public int getMode() 
				このShapeContainerの動作モードを返す。 | 
    
    
      
				setMode 
       | 
      
				public void setMode(int mode) 
				NORMAL_MODE, CREATING_MODE, MOVING_MODE, RESIZING_MODE, MODIFYING_SHAPE_MODEのいずれかを設定。 
				モード定数はCommandクラスで定義。 
       | 
    
    
      
				setSelected 
       | 
      
				public void setSelected(boolean selected) 
				この図形に選択状態(フィールド変数selected)を設定する。 
				selected=falseで呼ばれたときactivated=trueならば、activated=falseにする。 
       | 
    
    
      
				isSelected 
       | 
      
				public boolean isSelected() 
				この図形が選択されているときtrueを返す。 
       | 
    
    
      | setVisible | 
      
				public void setVisible(boolean visible) 
				表示の可否(フィールド変数visible)を設定する。 | 
    
    
      | isVisible | 
      
				public boolean isVisible() 
				表示の可否を返す。 | 
    
    
      | isClosed | 
      
				public boolean isClosed() 
				閉図形の場合、trueを返す。図形要素のメソッドを呼ぶ。 | 
    
    
      
				isEditableTextBox 
       | 
      
				public boolean isEditableTextBox() 
				現在のところ、TextBoxを持ち、テキスト入力可能な場合にtrueを返す。 
       | 
    
    
      
				makeTextBoxEditable 
       | 
      
				public void makeTextBoxEditable(boolean activate) 
				activateがtrueならばこの図形が持つTextBoxをテキスト入力・編集可能な状態にする。 
				TextBox.activateMouseListener
				でTextBoxをマウスリスナー、マウスモーションリスナーとしてListenerPanelにセットする。 
       | 
    
    
      | makeTextBoxEditable | 
      
				public void makeTextBoxEditable(Point2D point, int ctrl) 
				引数: 
				point - マウスでクリックした点。. 
				ctrl - 0/1/2 
				マウスクリック時にShift/Ctrlキーを押しているとctrl には1/2が設定される。 
				処理: 
				図形のテキスト領域をクリックしたときにSelectionLS.execSelectionから呼ばれる。 
				・この図形が持つTextBoxをテキスト入力・編集可能な状態にする。 
				・Point2D pointの指す位置にTextBoxのキャレットを表示する。 
				TextBox.mouseClickedと同じロジックで、次のメソッドを使って処理する。 
				TextBox.getCaretPositionAtMouse 
				TextBox.setCaretPositionOrSelection 
       | 
    
    
      
				getChangeCode 
       | 
      
				public int getChangeCode() 
          このオブジェクトがグループでなければフィールド変数changeCodeを返す。グループの場合、子オブジェクトのchangeCode(>=0)を返す。 
       | 
    
    
      
				setChangeCode 
       | 
      
				public void setChangeCode(int code) 
				フィールド変数changeCodeに引数を設定する。 
       | 
    
    
      
				resetChangeCode 
       | 
      
				public void resetChangeCode() 
				フィールド変数changeCodeをリセットする(-1をセットする)。 
       | 
    
    
      | setProperty | 
      
				public void setProperty(String key, Object object) 
				引数: 
				key - プロパティ(属性)キー 
				object - プロパティ(属性)値 
				 =>property 
				処理: 
				この図形のプロパティを設定する。 
       | 
    
    
      | getProperty | 
      
				public Object getProperty(String key) 
				引数: 
				key - プロパティ(属性)キー 
				戻り値: 
				プロパティキーの値を返す。 
       | 
    
    
      | removeProperty | 
      
				public void removeProperty(String key) 
				引数: 
				key - プロパティ(属性)キー 
				Processing: 
				プロパティをpropertyから削除する。 
       | 
    
    
      | getBooleanProperty | 
      
				public boolean getBooleanProperty(String key) 
				戻り値: 
				キーの値を返す。 
       | 
    
    
      | getPaintStyle | 
      
				public PaintStyle getPaintStyle() 
				フィールド変数paintStyleを返す。 | 
    
    
      | setPaintStyle | 
      
				public void setPaintStyle(PaintStyle paintStyle) 
				フィールド変数paintStyleに引数を設定する。 | 
    
		
			| getColors | 
			public Color[] getColors() 
				このオブジェクトのPaintStyleオブジェクトとTextBoxのCommittedTextContainerオブジェクトに設定されている全ての色情報を配列で返す。 | 
		
		
      | hasTextBox | 
      
				public boolean hasTextBox() 
				TextBoxを持つときtrueを返す。 | 
    
    
      | addTextBox | 
      
				public int addTextBox() 
				戻り値: 
				0 - 正常終了。 
				1 - グループのためテキストボックスは付加されなかった。 
          2 - 図形要素の種類が異常=>バグ。 
				3 - 図形要素が閉図形ではない。 
				4 - すでにテキストボックスを持っている。 
          5 - テキストエリアが確保できない=>バグ。 
				6 - 作成したテキストエリアが小さすぎる(幅または高さが10ピクセル以下)。 
				処理: 
				このShapeContainerオブジェクトに新規作成のTextBoxオブジェクトを追加する。
				TextBoxオブジェクトのテキスト領域(textArea: Rectangle2D)を
				ShapeElement.createTextArea抽象(abstract)メソッドを呼んで
				取得し、次のようにTextBoxに設定する。 
				newTextBox.setTextArea(textArea); 
				
				 => 操作説明書
				テキストボックス作成、追加、削除 
				
				
       | 
    
    
      | addTextBox | 
      
				public void addTextBox(Rectangle2D textArea) 
				引数: 
				textArea -新しいTextBoxオブジェクトを配置する矩形。 
				処理: 
				このメソッドはSerializableElementUtilだけから呼ばれる。ファイルから読み込んだデータ、クリップボードにストアしたSerializableElementデータからShapeContainer全体を再構成する場合に使う。 | 
    
    
      | deleteTextBox | 
      
				public int deleteTextBox()
				textBox フィールドにnullを設定する。
       | 
    
    
      | getTextBox | 
      
				public TextBox getTextBox() 
				TextBoxオブジェクトを返す(フィールド変数textBoxを返す)。 | 
    
    
      | setTextBox | 
      
				public void setTextBox(TextBox textBox) 
				このShapeContainerにTextBoxオブジェクトを設定する。 | 
    
    
      
				setConnectorTarget 
						Permission 
       | 
      
				public void setConnectorTargetPermission(boolean permission) 
				コネクターの接続を許すか否かを設定する。 
				現在使用していない。 
			 | 
    
    
      
				setConnectorPermission 
       | 
      
				public void setConnectorPermission(boolean permission) 
				コネクター図形であるか否かを設定する。直線、折れ線だけにtrueを設定できる。 
				CutShapeでfalse設定。
				MoveResizeShapeLSで直線、折れ線を動かす時にtrue設定。 
				他では使用していない。 
			 | 
    
    
      
				isConnectorTarget 
       | 
      
				public boolean isConnectorTarget() 
				このShapeContainerがコネクターの接続を許す図形のときtrueを返す。 
       | 
    
    
      
				isConnector 
       | 
      
				public boolean isConnector() 
				このShapeContainerがコネクター図形のときtrueを返す。 
       | 
    
		
      
				compare 
       | 
      
				public boolean compare(ShapeContainer container) 
				このオブジェクトが引数containerに等しいときtruを返す。 
       | 
    
    
      
				compare 
       | 
      
				public boolean compare(ShapeContainer[] containers) 
				このオブジェクトが引数containersにのどれかに等しいときtruを返す。 
       | 
    
    
      
				getGroupedContainers 
       | 
      
				public ShapeContainer[] getGroupedContainers() 
				処理: 
				このShapeContainerが単一図形ならば、このShapeContainerを返す。 
				このShapeContainerがグループ図形ならば、このShapeContainerと子要素のShapeContainerを全て返す。
				全ての子要素はGroupElement.getGroupedContainersメソッド
				で検索できる 
				(例) GroupElement.getGroupedContainersメソッド:  
				
					もしこのShapeContainerオブジェクトが図2のSingle shape(No- 0)ならば、Single shape(No- 0)を返す。 
          もしこのShapeContainerオブジェクトがGroup(No-1)ならば、Group(No-1), Group(No-2), Single
          shape(No-3), Single shape(No-4), Group(No-5), Single shape(No-6), Single
          shape(No-7)を返す 
       | 
    
    
      
				getGroupedSingleShape 
						Containers 
       | 
      
				public ShapeContainer[] getGroupedSingleShapeContainers() 
				このShapeContainerが単一図形ならば、このShapeContainerを返す。 
				このShapeContainerがグループ図形ならば、このShapeContainerと子要素のうちグループ図形でないShapeContainerを全て返す。 
       | 
    
    
      
				getGroupedTextBoxes 
       | 
      
				public TextBox[] getGroupedTextBoxes() 
				このShapeContainerおよび子要素のShapeContainerからTextBoxを全て取り出す。 
				TextBoxを取り出す処理を、単一図形とグループ図形で共通化するためのメソッド。 
       | 
    
    
      
				getGroupedTextBox 
       | 
      
				public TextBox getGroupedTextBox(String shapeId) 
				このShapeContainerおよび子要素のShapeContainerからshapeIdを持つShapeContainerを選びそのTextBoxを返す。 
				TextBoxを取り出す処理を、単一図形とグループ図形で共通化するためのメソッド。 
       | 
    
    
      
				getGroupedPaintStyles 
       | 
      
				public PaintStyle[] getGroupedPaintStyles() 
				このShapeContainerおよび子要素のShapeContainerからPaintStyleを全て取り出す。 
				PaintStyleを取り出す処理を、単一図形とグループ図形で共通化するためのメソッド。 
       | 
    
    
      
				getGroupedPaintStyle 
       | 
      
				public PaintStyle getGroupedPaintStyles(String shapeId) 
				このShapeContainerおよび子要素のShapeContainerからshapeIdを持つShapeContainerを選び、そのPaintStyleを返す。
				PaintStyleを取り出す処理を、単一図形とグループ図形で共通化するためのメソッド。 
       | 
    
    
      
				getBoundingBox 
       | 
      
				public Rectangle2D getBoundingBox() 
				この図形を囲むボックスを返す。図形要素のgetBoundingBoxを呼ぶ。 
       | 
    
    
      
				setTextBoxLayout 
       | 
      
				public void setTextBoxLayout(Insets textBoxInsets, int textAlign, double
					lineSpace) 
				引数: 
				textBoxInsets - TextBoxとテキスト領域の間の余白 
				textAlign - 右寄せ/中央寄せ/左寄せ 
				lineSpace - 行間隔 
				処理: 
				このShapeContainerのTextBoxの属性を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。TextBox
				のsetTextBoxLayoutメソッドを呼ぶ。 
       | 
    
    
      
				setFillColor 
       | 
      
				public void setFillColor(Color fillColor) 
				このShapeContainerの塗つぶし色を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。 
				PaintStyleの同名メソッドを呼ぶ。 
       | 
    
    
      
				setLineColor 
       | 
      
				public void setLineColor(Color lineColor) 
				このShapeContainerの輪郭線の色を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。 
				PaintStyleの同名メソッドを呼ぶ。 
       | 
    
    
      
				setLineWidth 
       | 
      
				public void setLineWidth(String lineWidth) 
				このShapeContainerの輪郭線の色を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。 
				PaintStyleの同名メソッドを呼ぶ。 
       | 
    
    
      
				 
				setLineStroke 
       | 
      
				public void setlineStroke(String lineStroke) 
				このShapeContainerの輪郭線の線種を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。 
				PaintStyleの同名メソッドを呼ぶ。 
       | 
    
    
      
				 
				setArrowStyle 
       | 
      
				public void setArrowStyle(String arrowStyle) 
				このShapeContainerが矢印を付けられる直線/曲線のとき、端点の矢印の形を指定する。
				このShapeContainerがグループ図形ならば、子要素の全てに設定する。 
				PaintStyleの同名メソッドを呼ぶ。引数の意味はPaintStyleのarrowStyle>参照。 
       | 
    
    
      
				
				 
       | 
      
				public void drawShape(Graphics g) 
				このShapeContainerの図形要素、TextBoxなど全ての図形を対応するクラスのメソッドを呼んで描画する。 
				呼び出すクラスとメソッドは次の通り。 
				・図形要素:DrawShapeUtil.drawShapeElement 
				・TextBox:TextBox.drawTextBox 
				・図形要素変形の制御点:MODIFYING_SHAPE_MODEのとき
				DrawShapeUtil.drawSegmentModifiersを呼ぶ。 
				・選択ボックス、リサイズハンドル:DrawShapeUtil.drawSelection 
       | 
    
    
      
				clone 
       | 
      
				public Object clone() 
				このShapeContainerのクローンを作る。クローン図形のshapeIdは元のShapeContainerと同じ。 
				このShapeContainerに付随するTextBox、PaintStyleなど全てクローンを作る。 
				このShapeContainerがグループ図形でも可。 | 
    
    
      
				toString 
       | 
      
				public String toString() 
				このShapeContainerの文字列表現を返す。 
       | 
    
    
      
				toShortString 
       | 
      
				public String toShortString() 
				このShapeContainerの短い文字列表現を返す。 
       |