Java Drawing DrawTop

Language

JP  US  UK

 

編集

 H. Jyounishi, Tokyo Japan
 

Frame (Index), No frame                 version:0.3(latest)  

要旨:図形データとテキストボックス内の文字列に対して、Cut/Copy and Paste処理と削除処理を行う。クリップボードはシステムクリップボードを使い、Toolkit.getDefaultToolkit().getSystemClipboard()で取得する。
DrawProtoと他のソフトウェア間の図形データのやり取りはイメージ、テキストのやり取りは属性のないPlain textで行う。
このページで説明するクラス: Edit, TransferableAttributedString, TransferableShapeContainer, ScreenImage, PasteContainer

1. 概要
∙ cut/copyとpaste操作の対象となるデータは、TextBox内の文字列と図形データ (ShapeContainer)である。

∙ 文字列のcut/copyとpaste

他アプリケーションとの文字列のやり取りは属性のないPlain textで行う。 本アプリケーションどうしのやり取りは属性つき文字列(java.text.AttributedString)で行う。 Clipboardへコピーするデータは、メソッドのないデータだけの SerializableAttributedStringオブジェクトを使う。


∙ 図形データのcut/copyとpaste

他アプリケーションとの図形データのやり取りはImage(画像)で行う。 本アプリケーションどうしのやり取りはShapeContainerで行う。Clipboardへコピーするデータは、 メソッドのないデータだけのSerializableElement オブジェクトを使う。


(1) 文字列のcut/copyとpaste
他アプリケーションとの文字列のやり取りは属性のないPlain textで行う。本アプリケーションどうしのやり取りは 属性つき文字列(java.text.AttributedString)で行う。Clipboardへコピーするデータは、メソッドのないデータだけの SerializableAttributedStringオブジェクトを使う。

操作 説明
cut/copy ClipboardにコピーするのはTransferable インターフェイスをインプリメントした TransferableAttributedStringオブジェクトである。
TextBox内の選択されている属性つき文字列(java.text.AttributedString)を SerializableAttributedStringオブジェクト に変換して、TransferableAttributedString のフィールド変数に設定する。

=> copyString method
TransferableAttributedStringオブジェクトは AttributedStringオブジェクトとStringオブジェクト(plain text)の両方を返すことができる。 AttributedStringはこのアプリケーションどうしでの操作、plain textは他のアプリケーションとのデータ交換に使う。
paste paste時にはisDataFlavorSupportedメソッドでSystemClipboard にコピーされているオブジェクトをチェックする。

(a)AttributedStringの場合(Edit.AttributedStringFlavor)

SerializableAttributedString.getAttributedStringメソッド でAttributedStringオブジェクトに変換し、TextBox.insertTextでTextBoxにコピーする。
=> pasteAttributedString method.


(b)Plain text(DataFlavor.stringFlavor)の場合

StringデータをAttributedStringオブジェクトに変換してTextBoxにコピーする。 但しAttributedStringに属性は設定しない。
=>pasteString method


(2)図形データのcut/copyとpaste
操作 説明
cut/copy ClipboardにコピーするのはTransferableインターフェイスをインプリメントした TransferableShapeContainerオブジェクトである。
選択されている図形データ(ShapeContainer)の配列を SerializableElementオブジェクトに変換し、 SerializableElementの配列に格納する。
=>copyContainers method
TransferableShapeContainerはこのアプリケーション特有の図形データと、Image(画像)の両方を返すことができる。
Transferableデータ Clipboardにコピーするオブジェクトである。
他のアプリケーションもImage(DataFlavor.imageFlavor)はサポートしているので、 Imageレベルでのデータのやり取りはつぎのように可能である。
∙ 本アプリケーションで図形copy->他アプリケーションでImageをpaste
本アプリケーションどうしでの図形データのやり取りはShapeContainerで行う。
paste paste時にはTransferable.isDataFlavorSupportedメソッドでsystemClipboardにコピーされている内容をチェックする。

(a)SerializableElementの場合(Edit.DrawShapeFlavor)

SerializableElementUtil.invertShapeContainerメソッドで ShapeContainerオブジェクトに変換し、ContainerManager.addContainerで Containerlistに書き込む。
=>pasteContainers method


(b)Image(DataFlavor.imageFlavor)の場合

これは他のアプリケーションで図形copyされた場合である。
Image からcreateImageSerializableElementによりImageElementのSerializableElementを作成。 これをShapeContainerオブジェクトに変換し、ContainerManager.addContainerで Containerlistに書き込む。
=>pasteImage method 



2. Editクラス 戻る=>page top
public class Edit implements ClipboardOwner
フィールド 説明
systemClipboard Clipboard systemClipboard
システムクリップボードを設定。次のように取得する。Toolkit.getDefaultToolkit().getSystemClipboard();
lostOwnership boolean lostOwnership
オーナーシップを失ったときtrueを設定する。このクラスのlostOwnershipメソッドで設定する。
pasteContainerSave PasteContainer pasteContainerSave
図形をペーストするときのペースト位置を決めるデータを保持するコンテナ。
clickedPointSave Point2D clickedPointSave
図形をペーストする前に画面をクリックしたときに、そのクリック点を設定する。
AttributedStringFlavor public static final DataFlavor AttributedStringFlavor
このアプリケーション特有のDataFlavor。属性つきAttributedStringのこと。
new DataFlavor(java.io.Serializable.class, "AttributedString")で作成する。
DrawShapeFlavor public static final DataFlavor DrawShapeFlavor
このアプリケーション特有のDataFlavor。図形データ(ShapeContainer)のこと。
new DataFlavor(java.io.Serializable.class, "shapeElement")で作成する。
PlainString public static final int PlainString = 1;
systemClipboardにストアされているデータのタイプを表し、 hasClipboadメソッドの引数で使われる。属性のない文字列。 通常は他のアプリケーション(Microsoft Wordなど)からコピーされた文字列。
AttributedString public static final int AttributedString = 2;
systemClipboardにストアされているデータのタイプを表し、 hasClipboadメソッドの引数で使われる。 属性のある文字列で、このアプリケーションでコピーされた文字列。
Shape public static final int Shape = 3;
systemClipboardにストアされているデータのタイプを表し、 hasClipboadメソッドの引数で使われる。 このアプリケーションで作成された図形データ。
Image public static final int Image = 4;
systemClipboardにストアされているデータのタイプを表し、 hasClipboadメソッドの引数で使われる。 このアプリケーションで作成された画像データまたは他のアプリケーション(Microsoft Paintなど)からコピーされた画像データ。

メソッド 説明
cut public void cut()
TextBoxの文字列または選択された図形をSystemClipboardにコピーする。
文字列のClipboadへのコピーはcopyStringメソッド、選択された図形のClipboadへのコピーはcopyContainersメソッド。
copyString、copyContainersの引数にfalseを設定しているのは、元の文字列または図形をClipboadへのコピーした後、 削除することを意味する。
copy public void copy()
TextBoxの文字列または選択された図形をSystemClipboardにコピーする。
文字列のClipboadへのコピーはcopyStringメソッド、選択された図形のClipboadへのコピーはcopyContainersメソッド。
copyString、copyContainersの引数にtrueを設定しているのは、元の文字列または図形をClipboadへのコピーした後、 削除しないことを意味する。
copyString private boolean copyString(ShapeContainer shapeContainer, boolean copy)
引数:
shapeContainer - TextBoxを持つ図形
copy - falseのときコピーする文字列をTextBoxから削除、trueのときは削除しない。
処理:
∙ 選択されている文字列をTextBoxから取り出す

TextBox textBox=shapeContainer.getTextBox();
AttributedString attribStr=textBox.getSelectedText();

∙ 引数copy=falseならば、textBoxの文字列の削除処理を行う。
∙ 取り出した文字列(AttributedString)からTransferableAttributedString オブジェクトを作成しsystemClipboardにセットする。
copyContainers private void copyContainers(ShapeContainer[] containers, boolean copy)
引数:
containers - 選択図形の配列 (ShapeContainer オブジェクト).
copy - falseならば選択図形を削除する。
処理:
∙ 選択図形に対してTransferableShapeContainer オブジェクトを作成し systemClipboardに設定する。
copy public void copy()
TextBoxの文字列または選択された図形をSystemClipboardにコピーする。
文字列のClipboadへのコピーはcopyStringメソッド、選択された図形のClipboadへのコピーはcopyContainersメソッド。
copyString、copyContainersの引数にtrueを設定しているのは、 元の文字列または図形をClipboadへのコピーした後、削除しないことを意味する。
hasClipboad public boolean hasClipboad(int type)
引数:
type - SystemClipboardにストアされているデータの種類。
Edit.PlainString, Edit.AttributedString, Edit.Shape, Edit.Imageのいずれかを指定する。
戻り値:
typeで指定したデータがSystemClipboardにストアされているときtrueを返す。
paste public void paste()
SystemClipboardからcontentsを取り出す。
Transferable contents=this.systemClipboard.getContents(null); 
contentsのDataFlavorに応じて次の処理を行う。

Edit.AttributedStringFlavor

contentsは本アプリケーションのTextBoxからコピーした属性つき文字列である。 このクラスのpasteAttributedStringメソッドでTextBoxにペーストする。


DataFlavor.stringFlavor

contentsは他のアプリケーションからコピーした属性なし文字列(Plain text)である。 このクラスのpasteStringメソッドでTextBoxにペーストする。


Edit.DrawShapeFlavor

contentsは本アプリケーションからコピーした図形データである。 contentsオブジェクトから図形データ(SerializableElementオブジェクト) を取り出しPasteContainerコンストラクターの引数に設定して 新しいPasteContainerオブジェクトを作成する。このPasteContainerオブジェクトとフィールド変数の pasteContainerSaveにのオブジェクトをPasteContainerのidで比較し、 一致しなければpasteContainerSaveに新しいPasteContainerを設定する。 図形のペーストはこのクラスのpasteContainersメソッドで行なう。


DataFlavor.imageFlavor

contentsは他のアプリケーションからコピーしたImageである。 contentsオブジェクトからデータを取り出しPasteContainerオブジェクトを作成する。 このオブジェクトとフィールド変数pasteContainerSaveのオブジェクトを比較し、 一致しなければ新しいオブジェクトをpasteContainerSaveに設定する。 画像データのペーストはこのクラスのpasteImageメソッドで行なう。

pasteString public boolean pasteString(String str)
引数:
str - ペーストされる文字列.
戻り値:
ペーストを実行したらtrueを返す。
処理:
ContainerManager.getEditableTextBox でアクティブ(テキスト入力∙ 編集可能)なTextBoxを取り出す。
∙ 引数を属性なしのAttributedString に変換しTextBoxに挿入する。

textBox.insertText (TextBox.COMMAND, position, attribStr.getIterator());

∙ TextBoxにinsertできた時、戻り値としてtrueを返す。

アクティブなTextBoxがないか、TextBoxのキャレット位置が指定されていなければ戻り値としてfalseを返す。

pasteAttributed
String
private boolean pasteAttributedString(SerializableAttributedString sString)
引数:
sString -ペーストするSerializableAttributedString オブジェクト
戻り値:
ペーストを実行したらtrueを返す。
処理:
AttributedStringは属性を保持したままpasteする。
ロジックはpasteStringと同じ。
pasteContainers private boolean pasteContainers(PasteContainer pasteContainer)
引数:
pasteContainer - PasteContainer オブジェクト。
戻り値:
ペーストを実行したらtrueを返す。
処理:
図形データを、現在画面に表示している図形ファイルのページにペーストする。 実際に図形データをペーストしたときにtrueを返す。
∙ Clipboardから取りだしたSerializableElementの配列を invertShapeContainerメソッド でShapeContainerの配列に変換する。
∙ このクラスのgetPastePositionメソッドでペースト位置を計算する。
ContainerManager.addContainerメソッドで copyされた図形をContainerListに追加。
: ContainerManager.addContainerの前後を
ContainerManager.undoSetupStartContainerManager.undoSetupEndで囲みundoの設定を行なう。
=> ContainerManager Undoサポート機能
pasteImage private boolean pasteImage(PasteContainer pasteContainer)
引数:
pasteContainer - PasteContainer オブジェクト
戻り値:
ペーストを実行したらtrueを返す。
処理:
画像データを、現在画面に表示している図形ファイルのページにペーストする。
∙ 引数pasteContainerから画像を取り出し、その画像を持つ SerializableElementオブジェクトを作成する。
SerializableElementオブジェクトを変換して、 画像データを持つShapeContainerオブジェクトを作成する。
ShapeContainerオブジェクトを ContainerManageraddContainerメソッドで ContainerListに付け加える。
getPastePosition private Vector2D getPastePosition(PasteContainer pasteContainer, ShapeContainer[] containers)
引数:
pasteContainer - PasteContainer オブジェクト
containers - ペーストされる図形(ShapeContainer オブジェクト )
戻り値:
現在位置からのペースト位置の平行移動量。
処理:
ペースト位置の規則に従いペースト位置への平行移動量をVector2Dオブジェクトで返す。
つぎの手順で処理する。
∙ ペースト前に画面がクリックされていればクリック点を取り出し、clickedPointSaveに設定する。
∙ 引数 pasteContainergetCurrentShiftCountメソッドを呼んで、 右下へずらす回数を取得する。
∙ 元の図形からの平行移動量を計算し、戻り値として返す。
createSerializableElement private SerializableElement createSerializableElement(Image image)
引数:
iamge - 画像オブジェクト.
戻り値:
画像データを保持したSerializableElementオブジェクト
処理:
SerializableElementオブジェクトを新規作成、 elementTypeをCommand.IMAGE(ImageElement)とする。
ImageElementに必要なデータを設定する。
ImageElementのサイズを 縦または横が128ピクセルになるように設定する(ペーストした画像はこのサイズで表示される)。
∙ このクラスのgetByteImageメソッドでjava.awt.Imageをbyte配列に変換し、 SerializableElementimageByteDataフィールドに設定する。
getByteImage public byte[] getByteImage(Image image)
ImageElement.getByteImageと同じ。
lostOwnership public void lostOwnership(Clipboard clipboard, Transferable contents)
現在のところ次のgetClipboardInformationで情報を印刷するだけ。
どう使うか分からない。
getClipboardInformation private String getClipboardInformation(Clipboard clipboard, ClipboardOwner clipboardOwner)
Clipboardの内容を文字列で返す。
delete public void delete()
削除対象はTextBox内のテキストまたは選択されている図形(ShapeContainer)である。
∙ TextBox内のテキストを削除

ContainerManager.getEditableTextBoxメソッドでテキスト編集中のTextBoxがあるかをチェック。 選択テキストをdeleteコマンドまたはBackspaceキーで削除、選択テキストがなければカーソルの前の一文字をBack spaceキーで削除する。

∙ 図形の削除

ContainerManager.deleteContainerメソッドで行う deleteContainerの前後にContainerManager.undoSetupStartと ContainerManager.undoSetupEnd を呼んでUndo設定。
参照=>ContainerManager Undoサポート機能


: ペースト位置の規則
Copyまたはcutした図形が格納されていた図形ファイルとページをoriginalFile, originalPageとする。
(1)図形をoriginalFile, originalPageにペーストする場合
 右下にずらしてペーストする。続けてペーストするも右下にずらす。
(2)図形をoriginalFileとは異なるファイルまたはoriginalPageと異なるページにペーストする場合
 1回目は元の図形の位置にペーストする。2回目からは右下にずらしてペーストする。
(3)ペーストの前に画面をクリックした場合
 ペーストするファイル、ページには関係なく、1回目はクリック点に位置にペーストする。 2回目からは右下にずらしてペーストする。


3. TransferableAttributedStringクラス 戻る=>page top
public class TransferableAttributedString implements Transferable, Serializable
TextBox内の属性付きAttributedStringを設定する。
DataFlavor
このアプリケーションでは文字列のDataFlavorに次の2種類を使う。
Edit.AttributedStringFlavor: このアプリケーション特有のDataFlavor。標準ではないので独自にstatic定数で定義。
DataFlavor.stringFlavor: 属性のないPlain textのDataFlavor。他アプリケーションとのデータ交換に使う。
フィールド 説明
sString private SerializableAttributedString sString
属性つき文字列のファイル書き込み形式 ( SerializableAttributedString)を設定。
 
メソッド 説明
コンストラクター public TransferableAttributedString(AttributedCharacterIterator iterator)
引数:
iterator - 属性つき文字列。
処理:
iterator からSerializableAttributedStringオブジェクトを作成して sString に設定。
getTransferData public Object getTransferData(DataFlavor flavor)
引数:
flavor - データフレーバ
処理:
∙ flavor=Edit.AttributedStringFlavorならば、フィールド変数dataを返す。
∙ flavor=DataFlavor.stringFlavorならば、フィールド変数dataからStringデータを取り出して返す。
getTransferDataFlavors public DataFlavor[] getTransferDataFlavors()
Edit.AttributedStringFlavor、DataFlavor.stringFlavorを配列で返す。
isDataFlavorSupported public boolean isDataFlavorSupported(DataFlavor flavor)
引数:
flavor - データフレーバ
処理:
flavor=Edit.AttributedStringFlavorまたはflavor=DataFlavor.stringFlavorならばtrueを返す。


4. TransferableShapeContainerクラス 戻る=>page top
public class TransferableShapeContainer implements Transferable, Serializable
(1) DataFlavor
このアプリケーションでは図形データのDataFlavorに次の2種類を使う。
Edit.DrawShapeFlavor: このアプリケーション特有のDataFlavor。データフォーマットはSerializableElement.
DataFlavor.imageFlavor: イメージのDataFlavor(java.awt.datatransfer.DataFlavor)。他アプリケーション (e.g. MS Word, Paint) とのデータ交換に使う。
(2) データ変換
ShapeContainer -> SerializableElement

SerializableElementUtilconvertShapeContainerメソッドで行なう。

ShapeContainer -> Image

ScreenImageのコンストラクタで行い、 getImageメソッドで取り出す。

フィールド 説明
sElements SerializableElement[] sElements
SerializableElementを格納する配列
image private Image image

メソッド 説明
コンストラクタ public TransferableShapeContainer(ShapeContainer[] containers)
引数:
containers - クリップボードにコピーされる図形データの配列。
処理:
∙ 引数containersをSerializableElementに変換して sElementsフィールドに設定する。
∙ 引数containersをScreenImageクラスで画像に変換し、 画像データを取り出してimageフィールドに設定する。
getTransferData public Object getTransferData(DataFlavor flavor)
引数:
flavor - データフレーバ
処理:
∙ flavor=Edit.DrawShapeFlavorならば、 フィールド変数sElementsを返す。
∙ flavor=DataFlavor.imageFlavorならば、フィールド変数imageを返す。
getTransferDataFlavors public DataFlavor[] getTransferDataFlavors()
Edit.DrawShapeFlavor、DataFlavor.imageFlavorを配列で返す。
isDataFlavorSupported public boolean isDataFlavorSupported(DataFlavor flavor)
引数:
flavor - データフレーバ
処理:
flavor= Edit.DrawShapeFlavorまたはflavor= DataFlavor.imageFlavorならばtrueを返す。


5. ScreenImageクラス 戻る=>page top
public class ScreenImage implements Serializable, Cloneable
Clipboadに書き込むため選択された図形データの画面イメージを作成する。他アプリケーションとのデータ交換用に使う。
このクラスはBufferedImageからcreateGraphicsでGraphics2Dを作成し、 スクリーンへの描画処理を行うShapeContainer.drawShapeメソッドでBufferedImageに画像を書き込む。 この際、余分なもの(リサイズハンドル、選択ボックスなど)を書き込まないよう、 Draw引数.DrawModeにDraw引数.DrawImageをセットしておく。
フィールド 説明
containers ShapeContainer[] containers
画面イメージを作成するShapeContainer配列。 このShapeContainer配列の図形を囲む領域をイメージ化する。
imageArea Rectangle2D imageArea
イメージ化する領域。getImageSizeで取得する。
bufferedImage BufferedImage bufferedImage
ここにShapeContainer.drawShapeメソッドで画像を書き込む。

メソッド 説明
コンストラクター public ScreenImage(ShapeContainer[] containers)
引数:
containers - 画面イメージを作成するShapeContainer配列
処理:
∙ getImageSizeでイメージ化する領域を取得しフィールド変数imageAreaに設定する。
∙ imageAreaのサイズのBufferedImageオブジェクトを作成。
 このBufferedImageにdrawImageメソッドでスクリーンイメージを生成する。
getImageSize public Rectangle2D getImageSize(double scale, int marginX, int marginY)
引数:
scale - 表示倍率
margineX, margineY - イメージサイズのマージン(ピクセル)
戻り値:
フィールド変数containersを囲む領域を求め、それにmarginX、marginYを加えた領域を返す。
drawImage public void drawImage(Graphics g, double scale)
引数:
g - bufferedImageから作成されたグラフィックオブジェクト
Graphics2D g2 = this.bufferedImage.createGraphics();
scale - The scale factor.
処理:
∙ Draw引数.DrawModeにDraw引数.DrawOnImageを設定。
 次のdrawShapeメソッドの描画方法を決める。
ShapeContainer.drawShape(g)でフィールド変数containersの図形を描画する。
getImage Image getImage()
フィールド変数bufferedImageを返す。
toString public String toString()
文字列表現を返す。


6. PasteContainerクラス 戻る=>page top
public class PasteContainer implements Serializable, Cloneable
図形データ、画像データを繰り返しペーストする場合、毎回右下にずらしてペーストする。またペーストの直前に画面をクリックするとクリック位置にペーストする。さらに繰り返しペーストすると、クリック点から右下に毎回ずれながらペーストする。このクラスは、繰り返しペーストするときに右下にずらす処理を行うためのデータを保持する。
参照=>ペースト位置の規則
フィールド
説明
originalFileName
String originalFileName
クリップボードにコピーした図形が格納されていたファイル名。画像の場合、他のアプリケーションでコピーされているのでこのフィールドは無効。
originalPage
int originalPage
クリップボードにコピーした図形が格納されていたページ番号。画像の場合、他のアプリケーションでコピーされているのでこのフィールドは無効。
newContents
boolean newContents
新しいコンテンツ(sdataまたはimage)をセットしたときtrue。
pastedFileName
Buffe String pasteFileName
図形、画像をペーストした先のファイル名。
pastedPage
int pastePage
図形、画像をペーストした先のページ番号。
shiftCount int shiftCount

id
String id
図形、画像の識別子。
∙ 図形のId

クリップボードにコピーした図形のSerializableElementを作成した日時をIdとする。この日時はSerializableElementのDate dateフィールドから取得する。SerializableElementは一般に複数個であり得るが、先頭のSerializableElementの日時を使えばよい。

∙ 画像のId
クリップボードには標準的なDataFlavor.imageFlavorの形式で書き込まれるので、クリップボードにコピーされた日時は記録できない。そこで画像のピクセル情報からユニークに決まるidを作成する。画像のx,y軸中心線のRGBをパックした整数値(long型)を全て加えた値をString型に変換してIdとする。このIdはこのクラスのcreateImageIdを使って作成する。
sElements
SerializableElement[] sElements
クリップボードにコピーした図形のSerializableElementの配列。
image
BufferedImage image
クリップボードにコピーした画像データ。

メソッド
説明
コンストラクタ
public PasteContainer(SerializableElement[] sElements)
引数:
sElements - SerializableElement オブジェクト
処理:
図形データのPasteContainerオブジェクトを作成する。
フィールド変数originalFileName、originalPage、id、sdataに値を設定。newContentsにtrue、shiftCountに0を設定する。
コンストラクタ
public PasteContainer(BufferedImage bufferedImage)
引数:
bufferedImage - イメージオブジェクト
処理:
画像データのPasteContainerオブジェクトを作成する。
フィールド変数id、imageに値を設定。newContentsにtrue、shiftCountに0を設定する。
toString
public String toString()
このオブジェクトの文字列表現を返す。
createImageId
private long createImageId(BufferedImage bufferedImage)
引数:
bufferedImage - イメージオブジェクト
処理:
画像のx,y軸中心線のRGBをパックした整数値(long型)を全て加えた値を返す。
isNewContents
public boolean isNewContents()
フィールド変数newContentsを返す。
setNewContents
public void setNewContents(boolean newContents)
フィールド変数newContentsに引数の値を設定する。
getId
public String getId()
フィールド変数idを返す。
getOriginalFileName
public String getOriginalFileName()
フィールド変数originalFileNameを返す。
getOriginalPage
public int getOriginalPage()
フィールド変数originalPageを返す。
getPastedFileName
public String getPastedFileName()
フィールド変数pasteFileNameを返す。
setPastedFileName
public void setPastedFileName(String pasteFileName)
フィールド変数pasteFileNameに引数の値を設定する。
getPastedPage
public int getPastedPage()
フィールド変数pastePageを返す。
setPastedPage
public void setPastedPage(int pastePage)
フィールド変数pastePageに引数の値を設定する。
getShiftCount
public int getShiftCount()
フィールド変数shiftCountを返す。
setShiftCount
public void setShiftCount(int shiftCount)
フィールド変数shiftCountに引数の値を設定する。
getElementList
public SerializableElement[] getElementList()
フィールド変数sElementsを返す。
getImage
public Image getImage()
フィールド変数imageを返す。
getCurrentShiftCount
private int getCurrentShiftCount()
このクラスのgetPastePositionから呼ばれる。
同じファイルとページにペーストする回数(siftCount)をカウントする。
siftCountはpasteContainer.setShiftCountでPasteContainerオブジェクトに設定する。
pasteToOriginalFilePage
private boolean pasteToOriginalFilePage()
このクラスのgetShiftCountから呼ばれる。
クリップボードにコピーした図形が属していたファイルとページにペーストするときtrueを返す。
pasteToSameFilePage
private boolean pasteToSameFilePage()
このクラスのgetPastePosition, getShiftCountから呼ばれる。
一回前にペースとしたファイルとページにペーストするときtrueを返す。


Copyright (c) 2009-2013
All other trademarks are property of their respective owners.