flash.desktopNativeProcess NativeProcess クラスは、コマンドライン統合機能および一般的な起動機能を提供します。flash.events:EventDispatcher NativeProcess クラスは、コマンドライン統合機能および一般的な起動機能を提供します。AIR アプリケーションでは、NativeProcess クラスを使用して、ホストオペレーティングシステム上でネイティブプロセスを実行できます。AIR アプリケーションは、プロセスの標準入力(stdin)ストリームと標準出力(stdout)ストリームおよびプロセスの標準エラー(stderr)ストリームを監視します。

NativeProcess クラスとその機能は、ネイティブインストーラー(拡張デスクトッププロファイルアプリケーション)を使用してインストールされた AIR アプリケーションでのみ使用できます。デバッグ時に、ADL に対して -profile extendedDesktop 引数を渡すことにより、NativeProcess の機能を有効にできます。実行時に、ネイティブプロセスとの通信がサポートされているかどうかを判断するには、NativeProcess.isSupported プロパティを確認します。

AIR プロファイルのサポート:この機能は、ネイティブインストーラーを使用してデスクトップオペレーティングシステムにデプロイされたアプリケーションでサポートされます。この機能はモバイルデバイスまたはテレビ用 AIR デバイスではサポートされません。NativeProcess.isSupported プロパティを使用して、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。

ネイティブインストーラー(拡張デスクトッププロファイルアプリケーション)を使用してインストールされた AIR アプリケーションでは、File.openWithDefaultApplication を使用してアプリケーションを開くこともできます。ただし、NativeProcess クラスを使用すれば、標準入力、標準出力および標準エラーのパイプに直接アクセスできます。

注意:extendedTV プロファイルを使用するテレビ用 AIR アプリケーションでは、ActionScript のネイティブ拡張を使用してネイティブプロセスを実行できます。

次の例では、マシン上でネイティブプロセスとの通信がサポートされているかどうかを確認します。サポートされている場合、アプリケーションはネイティブプロセス用のイベントリスナーを設定し、メインアプリケーションディレクトリ内の test.py ファイルを起動します。: package { import flash.display.Sprite; import flash.desktop.NativeProcess; import flash.desktop.NativeProcessStartupInfo; import flash.events.Event; import flash.events.ProgressEvent; import flash.events.IOErrorEvent; import flash.events.NativeProcessExitEvent; import flash.filesystem.File; public class NativeProcessExample extends Sprite { public var process:NativeProcess; public function NativeProcessExample() { if(NativeProcess.isSupported) { setupAndLaunch(); } else { trace("NativeProcess not supported."); } } public function setupAndLaunch():void { var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); var file:File = File.applicationDirectory.resolvePath("test.py"); nativeProcessStartupInfo.executable = file; var processArgs:Vector.<String> = new Vector.<String>(); processArgs[0] = "foo"; nativeProcessStartupInfo.arguments = processArgs; process = new NativeProcess(); process.start(nativeProcessStartupInfo); process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData); process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData); process.addEventListener(NativeProcessExitEvent.EXIT, onExit); process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError); process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError); } public function onOutputData(event:ProgressEvent):void { trace("Got: ", process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable)); } public function onErrorData(event:ProgressEvent):void { trace("ERROR -", process.standardError.readUTFBytes(process.standardError.bytesAvailable)); } public function onExit(event:NativeProcessExitEvent):void { trace("Process exited with ", event.exitCode); } public function onIOError(event:IOErrorEvent):void { trace(event.toString()); } } } 次の Python スクリプトをアプリケーションディレクトリ内の test.py ファイルに追加します(Python がインストールされていることを確認してください)。
 #!/usr/bin/python
 # ------------------------------------------------------------------------------
 # Sample Python script
 # ------------------------------------------------------------------------------
 
 import sys
 
 for word in sys.argv: #echo the command line arguments
     print word
 
 print "HI FROM PYTHON"
 print "Enter user name" 
 line = sys.stdin.readline()
 
 sys.stdout.write("hello," + line)
flash.external.ExtensionContextexit ネイティブプロセスが存在していることを通知します。flash.events.NativeProcessExitEventflash.events.NativeProcessExitEvent ネイティブプロセスが存在していることを通知します。exitCode プロパティには、プロセスの終了時にプロセスからホストオペレーティングシステムに返される値が含まれています。AIR アプリケーションが NativeProcess オブジェクトの exit() メソッドを呼び出してプロセスを終了すると、exitCode プロパティは NaN に設定されます。 standardInputIoError 標準入力(stdin)ストリームへの書き込みが失敗したことを通知します。flash.events.IOErrorEventflash.events.IOErrorEvent 標準入力(stdin)ストリームへの書き込みが失敗したことを通知します。NativeProcess オブジェクトは、closeInput() メソッドが失敗したとき、またはランタイムがネイティブプロセスの標準入力パイプにデータを書き込めない場合に、このイベントを送出します。 standardOutputIoError stdout ストリームからの読み取りが失敗したことを通知します。flash.events.IOErrorEventflash.events.IOErrorEvent stdout ストリームからの読み取りが失敗したことを通知します。NativeProcess オブジェクトは、ランタイムがネイティブプロセスの標準出力パイプからデータを読み取れない場合に、このイベントを送出することがあります。 standardErrorIoError 標準エラー(stderror)ストリームからの読み取りが失敗したことを通知します。flash.events.IOErrorEventflash.events.IOErrorEvent 標準エラー(stderror)ストリームからの読み取りが失敗したことを通知します。NativeProcess オブジェクトは、ランタイムがネイティブプロセスの標準エラーパイプからデータを読み取れない場合に、このイベントを送出することがあります。 standardInputClose NativeProcess オブジェクトが closeInput() メソッドを呼び出して、入力ストリームを閉じたことを通知します。flash.events.Eventflash.events.Event NativeProcess オブジェクトが closeInput() メソッドを呼び出して、入力ストリームを閉じたことを通知します。実際のネイティブプロセスによって入力ストリームが閉じられた場合には、NativeProcess オブジェクトはこのイベントを送出しません。 standardInputProgress NativeProcess が、子プロセスに対する入力ストリームにデータを書き込んだことを通知します。flash.events.ProgressEventflash.events.ProgressEvent NativeProcess が、子プロセスに対する入力ストリームにデータを書き込んだことを通知します。NativeProcess オブジェクトは、データがストリームに書き込まれたときに、このイベントを送出します。このイベントは、子プロセスにデータが読み取られたかどうかを示すものではありません。 standardErrorClose NativeProcess がエラーストリームを閉じたことを通知します。flash.events.Eventflash.events.Event NativeProcess がエラーストリームを閉じたことを通知します。 standardErrorData ネイティブプロセスで読み取り可能なデータが標準エラー(stderror)ストリームにあることを通知します。flash.events.ProgressEventflash.events.ProgressEvent ネイティブプロセスで読み取り可能なデータが標準エラー(stderror)ストリームにあることを通知します。NativeProcess オブジェクトは、子プロセスが標準エラーストリームをフラッシュしたとき、またはプロセス間通信で使用している内部バッファーが一杯になったときに、このイベントを送出します。この内部バッファーのサイズに依存するようなコードは書かないようにしてください。内部バッファーのサイズはオペレーティングシステムによって異なります。 standardOutputClose NativeProcess オブジェクトが出力ストリームを閉じたことを通知します。flash.events.Eventflash.events.Event NativeProcess オブジェクトが出力ストリームを閉じたことを通知します。 standardOutputData ネイティブプロセスで読み取り可能なデータが出力ストリームにあることを通知します。flash.events.ProgressEventflash.events.ProgressEvent ネイティブプロセスで読み取り可能なデータが出力ストリームにあることを通知します。NativeProcess オブジェクトは、子プロセスが stdout ストリームをフラッシュしたとき、またはプロセス間通信で使用している内部バッファーが一杯になったときに、このイベントを送出します。この内部バッファーのサイズに依存するようなコードは書かないようにしてください。内部バッファーのサイズはオペレーティングシステムによって異なります。 NativeProcess 初期化されていない NativeProcess オブジェクトを作成します。 初期化されていない NativeProcess オブジェクトを作成します。start() メソッドを呼び出して、プロセスを開始します。 start()closeInput このプロセスの入力ストリームを閉じます。 このプロセスの入力ストリームを閉じます。一部のコマンドラインアプリケーションには、入力ストリームが閉じてからいくつかの処理を開始するものがあります。一旦閉じられたストリームを再開するには、プロセスを終了してからもう一度開始する必要があります。 ioErrorStandardInputflash.events:IOErrorEventプロセスへの入力ストリームを閉じるのに問題があります。 プロセスへの入力ストリームを閉じるのに問題があります。 standardInputCloseflash.events:Event入力ストリームは閉じています。 入力ストリームは閉じています。exit ネイティブプロセスの終了を試みます。forceBooleanfalseアプリケーションが必要に応じてネイティブプロセスを強制終了するかどうかを示します。

force パラメーターが false に設定されている場合、このメソッドは実行中の処理が完了してからネイティブプロセスを終了しようとします。このメソッドからネイティブプロセスの終了が要求されます。この要求はネイティブプロセスによって無視されることがあるので、このメソッドが実際にネイティブプロセスを終了できるかどうかは保証されません。NativeProcess オブジェクトは、ネイティブプロセスが終了した場合にのみ、NativeProcessExitEvent イベントを送出します。

force パラメーターが true に設定されている場合、このメソッドはネイティブプロセスを強制終了しようとします。force パラメーターを true に設定してこのメソッドを呼び出す方法は、最後の手段として使用してください。force パラメーターをtrue に設定してこのメソッドを呼び出すと、ネイティブプロセスに関連付けられているシステムリソースの状態に悪影響を及ぼす可能性があります。例えば、開いているファイルが不安定な状態になる可能性があります。ランタイムは、最大限の処理を行い、ネイティブプロセスを強制終了しようとします。ただし、ネイティブプロセスを終了できるどうかは保証されません。NativeProcess オブジェクトは、ネイティブプロセスが終了した場合にのみ、NativeProcessExitEvent イベントを送出します。

NativeProcess が正常に終了すると、NativeProcessExitEvent イベントが送出されます。

ネイティブプロセスの終了を試みます。
start 指定の起動情報によって特定されているネイティブプロセスを起動します。NativeProcess が現在実行中の場合。 IllegalOperationErrorflash.errors:IllegalOperationErrorNativeProcessStartupInfo の nativePath プロパティが存在しない場合。 ArgumentErrorArgumentErrorNativeProcess が正常に起動しなかった場合。 ErrorErrorinfoflash.desktop:NativeProcessStartupInfoNativeProcessStartupInfo では、ネイティブプロセスの起動方法を定義します。 指定の起動情報によって特定されているネイティブプロセスを起動します。プロセスが開始すると、すべての入出力ストリームが開きます。オペレーティングシステムに対して、指定されたプロセスの開始が要求された直後に、このメソッドが返されます。プロセスが現在実行中の場合、NativeProcess オブジェクトは IllegalOperationError 例外をスローします。NativeProcess オブジェクトの running プロパティが true を返す場合、プロセスは実行中です。オペレーティングシステムがプロセスを開始できない場合は、Error がスローされます。

基礎となるオペレーティングシステム上の単一プロセスに対応する NativeProcess インスタンスです。同じオペレーティングシステムプロセスの複数のインスタンスを同時に実行する場合は、子プロセスごとに NativeProcess インスタンスを作成します。

NativeProcess オブジェクトの running プロパティが false を返す場合は、常にこのメソッドを呼び出すことができます。つまり、NativeProcess オブジェクトは再利用できます。言い換えれば、NativeProcess インスタンスを作成して、start() メソッドを呼び出し、exit イベントを待ってから、start() を再度呼び出すことができます。後続の start() メソッドの呼び出しでは、異なる NativeProcessStartupInfo オブジェクトを info パラメーター値として使用します。

NativeProcess クラスとその機能は、ネイティブインストーラーを使用してインストールされた AIR アプリケーションでのみ使用できます。デバッグ時に、ADL に対して -profile extendedDesktop 引数を渡すことにより、NativeProcess の機能を有効にできます。ネイティブプロセスとの通信がサポートされているかどうかを確認するには、NativeProcess.isSupported プロパティを調べます。

セキュリティに関する重要な考慮事項:

ネイティブプロセス API は、ユーザーのシステム上で任意の実行可能ファイルを実行できます。コマンドの構築時および実行時には、十分に注意を払ってください。実行されるコマンドが一部でも外部ソースから発行されている場合には、そのコマンドを実行しても安全であるかどうかを慎重に検証してください。同様に、AIR アプリケーションは、実行中のプロセスに渡されるデータを検証する必要があります。

ただし、入力を検証することは難しい場合があります。このような問題を回避するには、特定の API を含むネイティブアプリケーション(Windows 上の EXE ファイルなど)を作成することが最適です。これらの API は、AIR アプリケーションによって明示的に要求される場合にのみこれらのコマンドを処理します。例えば、ネイティブアプリケーションは、標準入力ストリームを通じて、限定された命令セットのみを受け付ける場合があります。

Windows 上の AIR は、ユーザーが .bat ファイルを直接実行することを許可しません。Windows .bat ファイルは、コマンドインタープリターアプリケーション(cmd.exe)によって実行されます。.bat ファイルを呼び出すとき、このコマンドアプリケーションは、コマンドに渡される引数を、起動する追加のアプリケーションとして解釈することができます。引数のストリングに悪質な意図で不要な文字が挿入されている場合、有害または安全ではないアプリケーションを cmd.exe が実行するおそれがあります。例えば、妥当なデータ検証が行われない場合、AIR アプリケーションが myBat.bat myArguments c:/evil.exe を呼び出す可能性があります。このコマンドアプリケーションは、バッチファイルを実行するときに、一緒に evil.exe アプリケーションを起動することになります。

.bat ファイルで start() メソッドを呼び出すと、NativeProcess オブジェクトは例外をスローします。Error オブジェクトの message プロパティには、ストリング「Error #3219: The NativeProcess could not be started」が含まれます。

NativeProcessStartupInfo
isSupported 実行中のネイティブプロセスが現在のプロファイルでサポートされているかどうかを示します。Boolean 実行中のネイティブプロセスが現在のプロファイルでサポートされているかどうかを示します。extendedDesktop プロファイルで実行している場合のみ、このプロパティは true を返します。また、AIR ファイルとしてインストールされているアプリケーションの場合、NativeProcess.isSupported は常に false です。NativeProcess を使用するには、ADT -target native フラグを使用して API アプリケーションをパッケージ化する必要があります。 running このネイティブプロセスが現在実行中かどうかを示します。Boolean このネイティブプロセスが現在実行中かどうかを示します。start() メソッドを呼び出し、NativeProcess オブジェクトが exit イベントをまだ送信していない場合、プロセスは実行中です。基礎となるオペレーティングシステム上の単一プロセスに対応する NativeProcess インスタンスです。基礎となるオペレーティングシステムプロセスが実行中の場合(ネイティブプロセスが起動中で、プロセスからオペレーティングシステムに終了コードが返されるまで)、このプロパティは true のままです。 standardError このネイティブプロセスから標準エラー出力へのアクセスを提供します。flash.utils:IDataInputデータが存在しない状態で、読み取り操作が試行された場合。 EOFErrorflash.errors:EOFError このネイティブプロセスから標準エラー出力へのアクセスを提供します。このパイプ上でデータが使用できるようになると、NativeProcess オブジェクトは ProgressEvent オブジェクトを送出します。使用可能なデータが存在しない場合、このストリームからデータを読み取ろうとすると、NativeProcess オブジェクトは EOFError 例外をスローします。

子プロセスの出力ストリームであっても、現在のプロセスから見れば入力データになるので、タイプは IDataInput です。

flash.events.ProgressEventflash.utils.IDataInput
standardInput このネイティブプロセスの標準入力に対するアクセスを提供します。flash.utils:IDataOutputこの値に書き込んで running プロパティが false を返した場合、または閉じている入力ストリームにデータを書き込もうとした場合。 IllegalOperationErrorflash.errors:IllegalOperationError このネイティブプロセスの標準入力に対するアクセスを提供します。このパイプを使用して、このプロセスにデータを送信します。input プロパティにデータが書き込まれるたびに、そのデータは直ちにネイティブプロセスの入力パイプに書き込まれます。

子プロセスの入力ストリームであっても、現在のプロセスから見れば出力データになるので、タイプは IDataOutput です。

closeInput()IDataOutput
standardOutput このネイティブプロセスの標準出力パイプに対するアクセスを提供します。flash.utils:IDataInputデータが存在しない状態で、読み取り操作が試行された場合。 EOFErrorflash.errors:EOFError このネイティブプロセスの標準出力パイプに対するアクセスを提供します。このパイプを使用して、ネイティブプロセスの標準出力からデータを読み取ります。このパイプ上にデータが存在すると、NativeProcess オブジェクトは ProgressEvent を送出します。使用可能なデータが存在しない場合、このストリームからデータを読み取ろうとすると、NativeProcess オブジェクトは EOFError をスローします。

子プロセスの出力ストリームであっても、現在のプロセスから見れば入力データになるので、タイプは IDataInput です。

flash.utils.IDataInputflash.events.ProgressEvent
InteractiveIcon InteractiveIcon クラスは、アプリケーションに関連付けられたオペレーティングシステムアイコンの基本クラスです。flash.desktop:Icon InteractiveIcon クラスは、アプリケーションに関連付けられたオペレーティングシステムアイコンの基本クラスです。

アプリケーションアイコンのインスタンスを取得するには、NativeApplication オブジェクトの icon プロパティを使用します。アイコンのタイプは、InteractiveIcon のサブクラスである DockIcon(Mac OS X®)または SystemTrayIcon(Windows®、Linux)のいずれかです。

InteractiveIcon クラスを直接インスタンス化することはできません。new InteractiveIcon() コンストラクターを呼び出すと、ArgumentError 例外がスローされます。

flash.desktop.NativeApplication.iconflash.desktop.NativeApplication.supportsDockIconflash.desktop.NativeApplication.supportsSystemTrayIconbitmaps 様々なサイズの BitmapData オブジェクトの配列としてのアイコンイメージです。Array 様々なサイズの BitmapData オブジェクトの配列としてのアイコンイメージです。

指定されたオペレーティングシステムのコンテキストでアイコンを表示する場合、表示するサイズに最も近い配列のビットマップが使用されます(必要に応じて伸縮)。一般的なサイズには、16x16、32x32、48x48 および 128x128 があります (512x512 ピクセルのアイコンは、近い将来にいくつかのオペレーティングシステムアイコンで使用される可能性があります)。

一部のコンテキストでは、bitmaps プロパティに何も割り当てられていない場合、オペレーティングシステムがデフォルトのシステムアイコンを使用することがあります。他のコンテキストでは、アイコンは表示されません。

アイコンの外観を設定または変更するには、BitmapData オブジェクトの配列を bitmaps プロパティに割り当てます。

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

bitmaps 配列を直接変更しても効果はありません。

アイコンイメージを消去するには、bitmaps プロパティに空の配列を割り当てます。

注意:アイコン用のイメージファイルを読み込む場合、通常、最も適切なアルファブレンドが提供されるのは PNG ファイル形式です。GIF 形式は透明度のオンまたはオフのみをサポートし、ブレンドは行いません。JPG 形式は、透明度をまったくサポートしません。

height アイコンの現在の表示の高さです(ピクセル単位)。int アイコンの現在の表示の高さです(ピクセル単位)。

一部のアイコンのコンテキストでは、動的なサイズ調整がサポートされます。height プロパティは、現在のコンテキストの bitmaps 配列から選択されたアイコンの高さを示します。オペレーティングシステムによってアイコンが伸縮されている場合は、実際の表示の高さはこれとは異なります。

width アイコンの現在の表示幅です(ピクセル単位)。int アイコンの現在の表示幅です(ピクセル単位)。

一部のアイコンのコンテキストでは、動的なサイズ調整がサポートされます。width プロパティは、現在のコンテキストの bitmaps 配列から選択されたアイコンの幅を示します。オペレーティングシステムによってアイコンが伸縮されている場合は、実際の表示幅はこれとは異なります。

InvokeEventReason InvokeEventReason クラスには、InvokeEvent オブジェクトの reason プロパティで返される値が列挙されています。オペレーティングシステム経由でアプリケーションを起動する方法を表す定数を定義します。 Object InvokeEventReason クラスには、InvokeEvent オブジェクトの reason プロパティで返される値が列挙されています。 flash.events.InvokeEvent.reasonLOGIN ユーザーがログインしたことが理由で InvokeEvent イベントが発生したことを示します。loginString ユーザーがログインしたことが理由で InvokeEvent イベントが発生したことを示します。 STANDARD ログイン以外の理由で InvokeEvent が発生したことを示します。standardString ログイン以外の理由で InvokeEvent が発生したことを示します。 NativeDragActions NativeDragActions クラスは、ドラッグ & ドロップアクションの名前のストリング定数を定義します。Object NativeDragActions クラスは、ドラッグ & ドロップアクションの名前のストリング定数を定義します。

NativeDragActions 定数は、NativeDragManager クラスおよび NativeDragEvent クラスの dropAction プロパティの値として使用されます。

flash.desktop.NativeDragManagerflash.events.NativeDragEventCOPY copy アクションに使用するストリングを定義します。copyString copy アクションに使用するストリングを定義します。 LINK link アクションに使用するストリングを定義します。linkString link アクションに使用するストリングを定義します。 MOVE move アクションに使用するストリングを定義します。moveString move アクションに使用するストリングを定義します。 NONE アクションが指定されていないときに使用するストリングを定義します。noneString アクションが指定されていないときに使用するストリングを定義します。

nativeDragComplete イベントでは、none アクションはドラッグ&ドロップ操作がユーザーによって中止されたことを示します。

ClipboardFormats ClipboardFormats クラスは、Clipboard クラスで使用する標準データ形式の名前の定数を定義します。Object ClipboardFormats クラスは、Clipboard クラスで使用する標準データ形式の名前の定数を定義します。Flash Player 10 は、TEXT_FORMAT、RICH_TEXT_FORMAT および HTML_FORMAT のみをサポートします。 flash.desktop.ClipboardBITMAP_FORMAT イメージデータです(AIR のみ)。air:bitmapString イメージデータです(AIR のみ)。 FILE_LIST_FORMAT ファイルの配列です(AIR のみ)。air:file listString ファイルの配列です(AIR のみ)。 FILE_PROMISE_LIST_FORMAT ファイルプロミスのリストです(AIR のみ)。air:file promise listString ファイルプロミスのリストです(AIR のみ)。 HTML_FORMAT HTML データです。air:htmlString HTML データです。 RICH_TEXT_FORMAT リッチテキストフォーマットデータです。air:rtfString リッチテキストフォーマットデータです。 TEXT_FORMAT ストリングデータです。air:textString ストリングデータです。 URL_FORMAT URL ストリングです(AIR のみ)。air:urlString URL ストリングです(AIR のみ)。 NativeApplication NativeApplication クラスは、この AIR アプリケーションを表します。flash.events:EventDispatcher NativeApplication クラスは、この AIR アプリケーションを表します。

NativeApplication クラスは、アプリケーション情報とアプリケーション全体の関数を提供し、アプリケーションレベルのイベントを送出します。

NativeApplication オブジェクトは、起動時に自動的に作成されるシングルトンオブジェクトです。静的な NativeApplication.nativeApplication プロパティを持つアプリケーションの NativeApplication インスタンスを取得します。

keyUp ユーザーがキーを離したときに送出されます。flash.events.KeyboardEvent.KEY_UPflash.events.KeyboardEvent ユーザーがキーを離したときに送出されます。NativeApplication インスタンスは、キーボードアクセラレーターをサポートするためにこのイベントを提供します。このキーボードイベントは最初に NativeApplication に送出されます。このイベントをキャンセルしても、他のオブジェクト(NativeWindow メニューアクセラレーターなど)には何の影響もありません。このイベントは、keyDown イベントの後に発生します。 flash.display.InteractiveObject.keyUpkeyDown ユーザーがキーを押したときに送出されます。flash.events.KeyboardEvent.KEY_DOWNflash.events.KeyboardEvent ユーザーがキーを押したときに送出されます。NativeApplication インスタンスは、キーボードアクセラレーターをサポートするためにこのイベントを提供します。このキーボードイベントは最初に NativeApplication に送出されます。このイベントをキャンセルすると、NativeWindow メニューアクセラレーターもキャンセルされます。このイベントは、keyUp イベントの前に発生します。 flash.display.InteractiveObject.keyDownuserPresent アイドル期間の後にオペレーティングシステムがマウスまたはキーボードの操作を検出すると送出されます。flash.events.Event.USER_PRESENTflash.events.Event アイドル期間の後にオペレーティングシステムがマウスまたはキーボードの操作を検出すると送出されます。

注意:このイベントはモバイルデバイスまたはテレビ用 AIR デバイスでは送出されません。

idleThreshold プロパティを使用すると、アイドル状態にあると見なす時間の長さを設定できます。ユーザーがアイドル状態になってからの経過時間は、timeSinceLastUserInput プロパティで判断できます。

idleThresholdtimeSinceLastUserInput
userIdle ユーザーがアイドル状態になっているときに送出されます。flash.events.Event.USER_IDLEflash.events.Event ユーザーがアイドル状態になっているときに送出されます。

idleThreshold プロパティを使用してこのイベントが送出される前に、ユーザーをアイドル状態にする必要がある期間を指定します。ユーザーがアイドル状態になってからの経過時間は、timeSinceLastUserInput プロパティで判断できます。

注意:このイベントはモバイルデバイスまたはテレビ用 AIR デバイスでは送出されません。

idleThresholdtimeSinceLastUserInput
networkChange 新しいネットワーク接続が使用可能になるか、既存のネットワーク接続が失われると送出されます。flash.events.Event.NETWORK_CHANGEflash.events.Event 新しいネットワーク接続が使用可能になるか、既存のネットワーク接続が失われると送出されます。

networkChange イベントは、ホストコンピューターがオンラインまたはオフラインになったことを示しているとは限りません。接続がある種類から別の種類に移行したことを示している場合もあります。 アプリケーションはこのイベントを使用して、リモートリソースの可用性を監視するタスクを最適化できます。networkChange イベントが送出されたときに、リモートリソースの可用性を確認することをお勧めします。

注意:

  • ネットワークに変更が発生してからこのイベントが送出されるまでに少し時間がかかることがあります。
  • Android では、ネットワーク接続に変化があるたびに、NativeApplication オブジェクトから複数の networkChange イベントが送出されます。
exiting アプリケーションの終了シーケンスが開始されると送出されます。flash.events.Event.EXITINGflash.events.Event アプリケーションの終了シーケンスが開始されると送出されます。

オペレーティングシステムによってアプリケーションの終了が開始されると、exiting イベントが送出されます。例えば、Command+Q キーが押された場合や(Mac OS X)、NativeApplication オブジェクトの autoExit プロパティが true に設定されているとき最後のアプリケーションウィンドウが閉じられた場合などがこれに該当します。このイベントをキャンセルすると、アプリケーションは終了しません。

テレビ用 AIR デバイスでは、exiting イベントが送出されることはありません。

注意:NativeApplication の exit() メソッドを呼び出しても、exiting イベントは送出されません。間もなく終了することをコンポーネントに警告するには、exit() を呼び出す前に exiting イベントを送出します。

deactivate デスクトップのフォーカスが別のアプリケーションに切り替わると送出されます。flash.events.Event.DEACTIVATEflash.events.Event デスクトップのフォーカスが別のアプリケーションに切り替わると送出されます。 activate このアプリケーションがアクティブデスクトップアプリケーションになると送出されます。flash.events.Event.ACTIVATEflash.events.Event このアプリケーションがアクティブデスクトップアプリケーションになると送出されます。 browserInvoke アプリケーションがユーザーのブラウザーを実行している SWF ファイルによって起動されたときに送出されます。flash.events.BrowserInvokeEvent.Browser_INVOKEflash.events.BrowserInvokeEvent アプリケーションがユーザーのブラウザーを実行している SWF ファイルによって起動されたときに送出されます。

ブラウザー呼び出しが許可されるのは、アプリケーション記述ファイルで次のように指定されている場合のみです。

<allowBrowserInvocation>true</allowBrowserInvocation>
invoke アプリケーションが起動されたときに送出されます。flash.events.InvokeEvent.INVOKEflash.events.InvokeEvent アプリケーションが起動されたときに送出されます。

1 つのアプリケーションを 2 回起動しても、そのアプリケーションの別のインスタンスは起動しません。代わりに、最初のインスタンスが追加の invoke イベントを受け取ります。アプリケーションで後続の invoke イベントを適切に処理する必要があります。

注意:invoke イベントはすべてキューに置かれます。このイベントのリスナーは、登録されると、新しいイベントおよびキュー内のすべてのイベントを受け取ります。キューに置かれたイベントは、新しい invoke イベントの前または後に配信されます。

activate このアプリケーションをアクティブ化します。windowflash.display:NativeWindownullアプリケーションと共にアクティブ化するウィンドウの NativeWindow オブジェクトです。 このアプリケーションをアクティブ化します。

このメソッドは、NativeWindow クラスをサポートしていないプラットフォームでは無効です。

オペレーティングシステムによって決められた一部の環境下では、このメソッドでアプリケーションはアクティブになりません。ほとんどのオペレーティングシステムでは、アプリケーション自体でアクティブになる機能を制限することにより、誤った操作や悪意のある操作によってユーザーが他のアプリケーションを使用できなくなることを防止しています。

オペレーティングシステムでアクティブ化が許可されている場合は、指定したウィンドウがアクティブになり、デスクトップのフォアグラウンド、つまり他のアプリケーションのウィンドウよりも手前に表示されます(window パラメーターが null の場合、このアプリケーションの表示ウィンドウがアクティブになります)。

アプリケーションに表示ウィンドウがない場合、activate() メソッドは無効です。

アクティブ化操作は、同期的です。

activateflash.events:Eventアクティブ状態が変化すると送出されます。 アクティブ状態が変化すると送出されます。
addEventListener イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。typeStringイベントのタイプです。 listenerFunctionイベントを処理するリスナー関数です。この関数は、次の例のように、Event オブジェクトを唯一のパラメーターとして受け取り、何も返さないものである必要があります。 function(evt:Event):void

関数の名前は任意に付けられます。

useCaptureBooleanfalse リスナーが、キャプチャ段階、またはターゲットおよびバブリング段階で動作するかどうかを判断します。useCapturetrue に設定すると、リスナーはキャプチャ段階のみでイベントを処理し、ターゲット段階またはバブリング段階では処理しません。useCapturefalse に設定すると、リスナーはターゲット段階またはバブリング段階のみでイベントを処理します。3 つの段階すべてでイベントを受け取るには、addEventListener を 2 回呼び出します。useCapturetrue に設定して呼び出し、useCapturefalse に設定してもう一度呼び出します。 priorityint0イベントリスナーの優先度レベルです。優先度は、符号付き 32 ビット整数で指定します。数値が大きくなるほど優先度が高くなります。優先度が n のすべてのリスナーは、優先度が n-1 のリスナーよりも前に処理されます。複数のリスナーに対して同じ優先度が設定されている場合、それらは追加された順番に処理されます。デフォルトの優先度は 0 です。 useWeakReferenceBooleanfalseリスナーへの参照が強参照と弱参照のいずれであるかを判断します。デフォルトである強参照の場合は、リスナーのガベージコレクションが回避されます。弱参照では回避されません。

クラスレベルメンバー関数はガベージコレクションの対象外であるため、クラスレベルメンバー関数の useWeakReference は、ガベージコレクションの制限とは無関係に true に設定できます。ネストされた内部の関数であるリスナーに対して useWeakReferencetrue に設定すると、その関数はガベージコレクションされ、永続的ではなくなります。inner 関数に対する参照を作成(別の変数に保存)した場合、その関数はガベージコレクションされず、永続化された状態のままになります。

イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。イベントリスナーは、特定のタイプのイベント、段階、および優先度に関する表示リスト内のすべてのノードに登録できます。

イベントリスナーが正常に登録された後に、addEventListener() をさらに呼び出して優先度を変更することはできません。リスナーの優先度を変更するには、最初に removeListener() を呼び出す必要があります。その後、同じリスナーを新しい優先度レベルで再度登録できます。

リスナーが登録された後に、addEventListener()type または useCapture に別の値を設定)を再度呼び出すと、別のリスナー登録が作成されることに注意してください。例えば、最初にリスナーを登録するときに useCapturetrue に設定すると、そのリスナーはキャプチャ段階のみでリスニングします。同じリスナーオブジェクトを使用して再度 addEventListener() を呼び出すと(このとき、useCapturefalse を設定)、異なる 2 つのリスナーが登録されます。1 つはキャプチャ段階でリスニングするリスナーで、もう 1 つはターゲット段階とバブリング段階でリスニングするリスナーです。

ターゲット段階またはバブリング段階のみを対象とするイベントリスナーを登録することはできません。登録時にこれらの段階が組み合わされるのは、バブリングはターゲットノードの祖先にしか適用されないためです。

イベントリスナーが不要になった場合は、removeEventListener() を呼び出して、イベントリスナーを削除します。削除しない場合、メモリの問題が発生する可能性があります。ガベージコレクションでは、オブジェクトの送出が行われている限り、リスナーを削除しないので、イベントリスナーは自動的には削除されません(useWeakReference パラメーターが true に設定されていない場合)。

EventDispatcher インスタンスをコピーしても、それに関連付けられているイベントリスナーはコピーされません。新しく作成したノードにイベントリスナーが必要な場合は、ノードを作成した後に、リスナーを関連付ける必要があります。ただし、EventDispatcher インスタンスを移動した場合は、関連付けられているイベントリスナーも一緒に移動されます。

イベントがノードで処理されるときに、イベントリスナーがそのノードに登録中であれば、イベントリスナーは現在の段階ではトリガーされません。ただし、バブリング段階など、イベントフローの後の段階でトリガーすることができます。

イベントがノードで処理されているときにイベントリスナーがノードから削除された場合でも、イベントは現在のアクションによってトリガーされます。削除された後は、その後の処理で再び登録されない限り、イベントリスナーは二度と呼び出されません。

clear フォーカスがある表示オブジェクトで内部 delete コマンドを起動します。true. Boolean フォーカスがある表示オブジェクトで内部 delete コマンドを起動します。

この関数呼び出しは、フォーカスがあるオブジェクトがコマンドを実装しない場合には無視されます。現在このコマンドを実装しているのは、TextField クラスまたは HTMLLoader クラスの下位にある表示コマンドのみです。

注意:clear() コマンドは、選択したテキストを削除します。何も選択しない場合は、どのテキストもクリアされません。

copy フォーカスがある表示オブジェクトで内部 copy コマンドを起動します。Boolean フォーカスがある表示オブジェクトで内部 copy コマンドを起動します。

この関数呼び出しは、コンポーネントがコマンドを実装しない場合には無視されます。現在このコマンドを実装しているのは、TextField クラスまたは HTMLLoader クラスの下位にある表示コマンドのみです。

cut フォーカスがある表示オブジェクトで内部 cut コマンドを起動します。true. Boolean フォーカスがある表示オブジェクトで内部 cut コマンドを起動します。

この関数呼び出しは、コンポーネントがコマンドを実装しない場合には無視されます。現在このコマンドを実装しているのは、TextField クラスまたは HTMLLoader クラスの下位にある表示コマンドのみです。

dispatchEvent イベントをイベントフローに送出します。値が true の場合、イベントは正常に送出されました。値が false の場合、イベントの送出に失敗したか、イベントで preventDefault() が呼び出されたことを示しています。 Booleaneventflash.events:Eventイベントフローに送出されるイベントオブジェクトです。イベントが再度送出されると、イベントのクローンが自動的に作成されます。イベントが送出された後にそのイベントの target プロパティは変更できないため、再送出処理のためにはイベントの新しいコピーを作成する必要があります。 イベントをイベントフローに送出します。イベントターゲットは EventDispatcher オブジェクトです。これに対して dispatchEvent() メソッドが呼び出されます。 exit このアプリケーションを終了します。errorCodeint0このアプリケーションが終了するときにオペレーティングシステムに報告される終了コードです。 このアプリケーションを終了します。

exit() メソッドの呼び出しによって返されます。現在実行中のコード(現在のイベントハンドラーなど)が完了するまで、シャットダウンシーケンスは開始されません。 保留中の非同期操作はキャンセルされ、操作が完了しない場合もあります。

exiting イベントは送出されません。アプリケーションのロジック上 exiting イベントが必要な場合は、NativeApplication.nativeApplication.dispatchEvent() を呼び出し、タイプが exiting の Event オブジェクトを渡します。開いているウィンドウに対して、NativeWindow オブジェクトは closing イベントと close イベントを送出します。closing イベントオブジェクトの preventDefault() メソッドを呼び出すと、アプリケーションが終了できなくなります。

注意:このメソッドは iOS オペレーティングシステムでサポートされていません。

getDefaultApplication 指定された拡張子を持つ開始ファイル用のデフォルトのアプリケーションを取得します。extension パラメーターがアプリケーション記述子に宣言されたファイル拡張子を含まない場合。 ErrorErrorデフォルトアプリケーションのパスです。 StringextensionString「.」を除く、対象のファイルタイプの拡張子を含む String です。 指定された拡張子を持つ開始ファイル用のデフォルトのアプリケーションを取得します。

注意:このメソッドは、アプリケーション記述子の fileTypes ステートメントに宣言されたファイルタイプでのみ使用できます。

このメソッドはテレビ用 AIR デバイスでは使用できません。アプリケーション記述子で宣言したファイルタイプを指定して呼び出すと、null が返されます。

applicationDescriptor
isSetAsDefaultApplication 現在このアプリケーションが、指定された拡張子を持つ開始ファイル用のデフォルトのアプリケーションかどうかを指定します。extension パラメーターがアプリケーション記述子に宣言されたファイル拡張子を含まない場合。 ErrorErrorこのアプリケーションがデフォルトである場合は true です。 BooleanextensionString「.」を除く、対象のファイルタイプの拡張子を含む String です。 現在このアプリケーションが、指定された拡張子を持つ開始ファイル用のデフォルトのアプリケーションかどうかを指定します。

AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムでサポートされますが、モバイルデバイスまたはテレビ用 AIR デバイスではサポートされません。NativeApplication.supportsDefaultApplication プロパティを使用して、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。

applicationDescriptorsupportsDefaultApplication
paste フォーカスがある表示オブジェクトで内部 paste コマンドを起動します。true. Boolean フォーカスがある表示オブジェクトで内部 paste コマンドを起動します。

この関数呼び出しは、コンポーネントがコマンドを実装しない場合には無視されます。現在このコマンドを実装しているのは、TextField クラスまたは HTMLLoader クラスの下位にある表示コマンドのみです。

removeAsDefaultApplication このアプリケーションを、指定された拡張子を持つ開始ファイルに対するデフォルト指定から解除します。extension パラメーターがアプリケーション記述子に宣言されたファイル拡張子を含まない場合。 ErrorErrorextensionString「.」を除く、対象のファイルタイプの拡張子を含む String です。 このアプリケーションを、指定された拡張子を持つ開始ファイルに対するデフォルト指定から解除します。

注意:このメソッドは、アプリケーション記述子の fileTypes ステートメントに示されたファイルタイプでのみ使用できます。

applicationDescriptorsupportsDefaultApplication
removeEventListener EventDispatcher オブジェクトからリスナーを削除します。typeStringイベントのタイプです。 listenerFunction削除するリスナーオブジェクトです。 useCaptureBooleanfalse リスナーが、キャプチャ段階、またはターゲットおよびバブリング段階に対して登録されたかどうかを示します。リスナーがキャプチャ段階だけでなくターゲット段階とバブリング段階にも登録されている場合は、removeEventListener() を 2 回呼び出して両方のリスナーを削除する必要があります。1 回は useCapture()true に設定し、もう 1 回は useCapture()false に設定する必要があります。 EventDispatcher オブジェクトからリスナーを削除します。対応するリスナーが EventDispatcher オブジェクトに登録されていない場合は、このメソッドを呼び出しても効果はありません。 selectAll フォーカスがある表示オブジェクトで内部 selectAll コマンドを起動します。true. Boolean フォーカスがある表示オブジェクトで内部 selectAll コマンドを起動します。

この関数呼び出しは、コンポーネントがコマンドを実装しない場合には無視されます。現在このコマンドを実装しているのは、TextField クラスまたは HTMLLoader クラスの下位にある表示コマンドのみです。

setAsDefaultApplication このアプリケーションを、指定された拡張子を持つ開始ファイル用のデフォルトのアプリケーションとして設定します。extension パラメーターがアプリケーション記述子に宣言されたファイル拡張子を含まない場合。 ErrorErrorextensionString「.」を除く、対象のファイルタイプの拡張子を含む String です。 このアプリケーションを、指定された拡張子を持つ開始ファイル用のデフォルトのアプリケーションとして設定します。

注意:このメソッドは、アプリケーション記述子の fileTypes ステートメントに宣言されたファイルタイプでのみ使用できます。

applicationDescriptorsupportsDefaultApplication
activeWindow アクティブなアプリケーションウィンドウです。flash.display:NativeWindow アクティブなアプリケーションウィンドウです。

アクティブなデスクトップウィンドウがこのアプリケーションに属していない場合、またはアクティブなウィンドウがない場合、activeWindownull です。

このプロパティは、NativeWindow クラスをサポートしていないプラットフォームでは無効です。

applicationDescriptor この AIR アプリケーション用のアプリケーション記述ファイルの内容です。XML この AIR アプリケーション用のアプリケーション記述ファイルの内容です。 次の例は、アプリケーション記述ファイルから copyright 要素と version 要素を読み取ります。アプリケーション記述子 XML に定義されたデフォルトの名前空間を使用する必要があります。 var appDescriptor:XML = NativeApplication.nativeApplication.applicationDescriptor; var ns:Namespace = appDescriptor.namespace(); var appCopyright:String = appDescriptor.ns::copyright; var appVersion:String = appDescriptor.ns::version; trace("appId:", appCopyright); trace("version:", appVersion); applicationID このアプリケーションのアプリケーション ID です。String このアプリケーションのアプリケーション ID です。

この ID の値は、アプリケーション記述ファイルに設定されます。

autoExit すべてのウィンドウを閉じたときにアプリケーションを自動的に終了するかどうかを指定します。Boolean すべてのウィンドウを閉じたときにアプリケーションを自動的に終了するかどうかを指定します。

autoExit がデフォルトの true の場合、すべてのウィンドウを閉じるとアプリケーションが終了します。exiting イベントと exit イベントの両方が送出されます。autoExitfalse の場合、NativeApplication.nativeApplication.exit() を呼び出してアプリケーションを終了する必要があります。

このプロパティは、NativeWindow クラスをサポートしていないプラットフォームでは無効です。

icon アプリケーションアイコンです。flash.desktop:InteractiveIcon アプリケーションアイコンです。

NativeApplication.supportsDockIconNativeApplication.supportsSystemTrayIcon を使用して、icon クラスを判別します。タイプは、InteractiveIcon のいずれかのサブクラスです。Mac® OS X では、NativeApplication.iconDockIcon タイプのオブジェクトです。Windows® の場合、NativeApplication.icon はタイプが SystemTrayIcon のオブジェクトです。アプリケーションアイコンがサポートされていない場合、NativeApplication.supportsDockIcon および NativeApplication.supportsSystemTrayIcon は両方とも false で、icon プロパティは null になります。

icon オブジェクトは自動的に作成されますが、イメージデータで初期化されません。Mac OS X などの一部のオペレーティングシステムでは、デフォルトのイメージが指定されます。一方、Windows などのオペレーティングシステムでは、アイコンにイメージデータが割り当てられない限りアイコンは表示されません。アイコンイメージを割り当てるには、少なくとも 1 つの BitmapData オブジェクトが格納されている配列を icon.bitmaps プロパティに設定します。配列に複数の BitmapData オブジェクトが格納されている場合、サイズがアイコンの表示サイズに最も近いイメージをオペレーティングシステムが選択し、必要に応じてイメージを伸縮します。

supportsDockIconflash.desktop.DockIconsupportsSystemTrayIconflash.desktop.SystemTrayIcon
idleThreshold ユーザー入力が行われなくなってから userIdle イベントを送出するまでの秒数です。intプロパティに無効な値を設定しようとした場合に発生します。許容される値の範囲は、5(5 秒)以上 86,400(1 日)以下です。 ArgumentErrorArgumentError ユーザー入力が行われなくなってから userIdle イベントを送出するまでの秒数です。

デフォルトでは、アイドル時間のしきい値は 300 秒(5 分)に設定されています。許容される値の範囲は、5(5 秒)以上 86,400(1 日)以下です。

userIdleuserPresent
menu アプリケーションメニューです。flash.display:NativeMenu アプリケーションメニューです。

アプリケーションメニューは、NativeApplication.nativeApplication.supportsMenutrue のときにサポートされます。アプリケーションメニューをサポートしないオペレーティングシステムもあります。例えば、Mac OS X ではアプリケーションメニューがサポートされますが、Windows または Linux ではサポートされません。NativeApplication.nativeApplication.supportsMenufalse の場合も、このプロパティに NativeMenu オブジェクトを割り当てることはできますが、効果はありません。使用しているオペレーティングシステムでアプリケーションメニューがサポートされているか確認するには、必ず NativeApplication.nativeApplication.supportsMenu プロパティを使用してください。その他の方法(Capabilities.os など)でサポートの有無を判断すると、プログラミングエラーの原因になる可能性があります(ターゲットとなり得るオペレーティングシステムの種類についての配慮が完全でない場合)。

AIR プロファイルのサポート:この機能はモバイルデバイスまたはテレビ用 AIR デバイスではサポートされません。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。

注意:Mac OS X の場合、menu プロパティはオペレーティングシステムで指定されたデフォルトのアプリケーションメニューを参照します。アイテムやサブメニューを追加および削除したり、イベントリスナーを追加することで、既存のメニュー構造を変更できます。新しい NativeMenu オブジェクトをこの menu プロパティに割り当てることによって、デフォルトのメニュー全体を置き換えることもできます。

flash.display.NativeMenuflash.display.NativeWindow.supportsMenu
nativeApplication NativeApplication オブジェクトのシングルトンインスタンスです。flash.desktop:NativeApplicationアプリケーションのセキュリティサンドボックス外部のコンテンツでアクセスした場合。 ErrorError NativeApplication オブジェクトのシングルトンインスタンスです。 openedWindows このアプリケーションの開いているすべてのネイティブウィンドウを含む配列です。Array このアプリケーションの開いているすべてのネイティブウィンドウを含む配列です。

このプロパティは、NativeWindow クラスをサポートしていないプラットフォームでは無効です。

publisherID このアプリケーションの発行者 ID です。String このアプリケーションの発行者 ID です。

この ID の値は、アプリケーションの発行者 ID ファイルに設定されます。このファイルは、インストール時に、アプリケーションの署名に使用される証明書チェーンから生成されます。

runtimePatchLevel このアプリケーションをホストしているランタイムのパッチレベルです。uint このアプリケーションをホストしているランタイムのパッチレベルです。 runtimeVersion このアプリケーションをホストしているランタイムのバージョン番号です。String このアプリケーションをホストしているランタイムのバージョン番号です。 startAtLogin 現在のユーザーがログインしたときは常にこのアプリケーションを自動的に起動するかどうかを指定します。BooleanWindows では、同じ名前を持つ(ただし、実行可能ファイルへのパスが異なる)別のアプリケーションが、このユーザーがログインすると起動するように既に設定されている場合。 IllegalOperationErrorflash.errors:IllegalOperationErrorこのアプリケーションがインストールされていない場合、AIR Debug Launcher(ADL)によって起動された可能性があります。 IllegalOperationErrorflash.errors:IllegalOperationError 現在のユーザーがログインしたときは常にこのアプリケーションを自動的に起動するかどうかを指定します。

AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムでサポートされますが、モバイルデバイスまたはテレビ用 AIR デバイスではサポートされません。NativeApplication.supportsStartAtLogin プロパティを使用して、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。

startAtLogin プロパティは、ユーザーがログインするとアプリケーションを自動的に開始することを指定するためにオペレーティングシステムに定義されたメカニズムのステータスを反映します。ユーザーは、オペレーティングシステムのユーザーインターフェイスでこのステータスを変更できます。このプロパティは、AIR アプリケーションまたはオペレーティングシステムによってこのステータスが最近変更されたかどうかについての現在のステータスを反映します。

supportsStartAtLogin
supportsDefaultApplication setAsDefaultApplication()、removeAsDefaultApplication() および isSetAsDefaultApplication() が現在のプラットフォームでサポートされているかどうかを示します。Boolean setAsDefaultApplication()removeAsDefaultApplication()isSetAsDefaultApplication() が現在のプラットフォームでサポートされているかどうかを示します。

true の場合、これらのメソッドは、説明のとおりに機能します。false の場合、setAsDefaultApplication() およびremoveDefaultApplication() は何もしません。isSetAsDefaultApplication()false を返します。

setAsDefaultApplication()removeAsDefaultApplication()isSetAsDefaultApplication()
supportsDockIcon AIR が、現在のオペレーティングシステムでドック形式のアプリケーションアイコンをサポートするかどうかを示します。Boolean AIR が、現在のオペレーティングシステムでドック形式のアプリケーションアイコンをサポートするかどうかを示します。

true の場合、NativeApplication.icon プロパティは DockIcon タイプです。

Mac OS X ユーザーインターフェイスには、実行中または頻繁に使用されるアプリケーションのアイコンが入っているアプリケーション「ドック」が用意されています。

使用しているオペレーティングシステムでアプリケーションのドックアイコンがサポートされているか確認するには、必ず NativeApplication.supportsDockIcon プロパティを使用してください。その他の方法(Capabilities.os など)でサポートの有無を判断すると、プログラミングエラーの原因になる可能性があります(ターゲットとなり得るオペレーティングシステムの種類についての配慮が完全でない場合)。

iconflash.desktop.DockIcon
supportsMenu 現在のオペレーティングシステムがグローバルアプリケーションメニューバーをサポートするかどうかを指定します。Boolean 現在のオペレーティングシステムがグローバルアプリケーションメニューバーをサポートするかどうかを指定します。

true の場合、NativeApplication.menu プロパティを使用してネイティブアプリケーションメニューを定義(またはネイティブアプリケーションメニューにアクセス)できます。

使用しているオペレーティングシステムでアプリケーションメニューバーがサポートされているか確認するには、必ず NativeApplication.supportsMenu プロパティを使用してください。その他の方法(Capabilities.os など)でサポートの有無を判断すると、プログラミングエラーの原因になる可能性があります(ターゲットとなり得るオペレーティングシステムの種類についての配慮が完全でない場合)。

menuflash.display.NativeWindow.supportsMenu
supportsStartAtLogin 現在のプラットフォームで、startAtLogin がサポートされているかどうかを示します。Boolean 現在のプラットフォームで、startAtLogin がサポートされているかどうかを示します。

true の場合、startAtLogin は説明どおりに機能します。false の場合、startAtLogin には効果はありません。

startAtLogin
supportsSystemTrayIcon AIR が現在のオペレーティングシステムのシステムトレイアイコンをサポートするかどうかを指定します。Boolean AIR が現在のオペレーティングシステムのシステムトレイアイコンをサポートするかどうかを指定します。

true の場合、NativeApplication.icon プロパティは SystemTrayIcon タイプです。

Windows ユーザーインターフェイスには、タスクバーの「システムトレイ」領域が用意されています。正式には「通知領域」と呼ばれ、この領域にアプリケーションアイコンが表示されます。表示されるデフォルトのアイコンはありません。アイコンを表示するには、icon オブジェクトの bitmaps 配列を設定する必要があります。

使用しているオペレーティングシステムでシステムトレイアイコンがサポートされているか確認するには、必ず NativeApplication.supportsSystemTrayIcon プロパティを使用してください。その他の方法(Capabilities.os など)でサポートの有無を判断すると、プログラミングエラーの原因になる可能性があります(ターゲットとなり得るオペレーティングシステムの種類についての配慮が完全でない場合)。

iconflash.desktop.SystemTrayIcon
systemIdleMode ユーザーインターフェイスが「アイドル」モードに入るのを妨げる手段をアプリケーションに提供します。String ユーザーインターフェイスが「アイドル」モードに入るのを妨げる手段をアプリケーションに提供します。

SystemIdleMode クラスの値です。ホストシステムのアイドルモード動作に影響します。このプロパティは、入力フォーカスのあるアプリケーションにのみ影響し、アプリケーションサンドボックス内で実行されるコンテンツからのみアクセスできます。

AIR プロファイルのサポート:この機能はモバイルデバイスでサポートされますが、デスクトップオペレーティングシステムまたはテレビ用 AIR デバイスではサポートされません。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。

flash.desktop.SystemIdleMode
timeSinceLastUserInput 最後のユーザー入力が行われてからの時間(秒)を示します。int 最後のユーザー入力が行われてからの時間(秒)を示します。 userIdleuserPresent
Updater Updater クラスは、現在実行しているアプリケーションを別のバージョンに更新するときに使用されます。Object Updater クラスは、現在実行しているアプリケーションを別のバージョンに更新するときに使用されます。このクラスを使用するには、Updater オブジェクトをインスタンス化した後で、その update() メソッドを呼び出します。

Updater クラスは、デスクトッププロファイルでのみサポートされます。拡張デスクトップアプリケーション(ネイティブインストーラーによってインストールされるアプリケーション)ではサポートされません。また、AIR モバイルプロファイルまたは AIR for TV プロファイルではサポートされません。Updater.isSupported プロパティを確認します。

拡張デスクトップアプリケーション(ネイティブインストーラーでインストールされたアプリケーション)は、新しいバージョンのネイティブインストーラーをダウンロードし、File.openWithDefaultApplication() メソッドを使用してそのインストーラーを起動できます。

air.update.ApplicationUpdaterair.update.ApplicationUpdaterUIUpdater Updater クラスのコンストラクター関数です。 Updater クラスのコンストラクター関数です。 update() メソッドはクラスの静的メンバーではない点に注意してください。Updater オブジェクトをインスタンス化して、その update() メソッドを呼び出す必要があります。 update 現在実行しているアプリケーションを、指定された AIR ファイルにあるアプリケーションのバージョンに更新します。ADL で実行した場合にこのメソッドが呼び出されました。 IllegalOperationErrorflash.errors:IllegalOperationErrorairFileflash.filesystem:File更新バージョンのアプリケーションが格納されている AIR ファイルを示す File オブジェクトです。 versionString新規 AIR ファイル内の必要なバージョンです。更新が成功するには、version 属性(AIR ファイルにあるアプリケーション記述ファイルのメイン application エレメントで指定)のストリングが、この値と一致する必要があります。 現在実行しているアプリケーションを、指定された AIR ファイルにあるアプリケーションのバージョンに更新します。AIR ファイル内のアプリケーションは、現在実行しているアプリケーションと同じアプリケーション識別子(appID)を持っている必要があります。

このメソッドを呼び出すと、(NativeApplication.exit() メソッドを呼び出した場合と同じように)現在のアプリケーションが終了します。アプリケーションが実行中になっていると Adobe AIR はそのアプリケーションを更新できないため、この操作が必要になります。新しいバージョンのアプリケーションのインストールが正常に完了すると、そのアプリケーションが起動します。ランタイムで新しいバージョンを正常にインストールできない場合(例えば、アプリケーション ID が既存のバージョンと一致しない場合)、AIR インストーラーによってユーザーにエラーメッセージが表示され、古いバージョンが再起動されます。

更新処理は更新が成功したかどうかにかかわらずアプリケーションを再起動します。更新は、ユーザーがアプリケーションをインストールする十分な権限を持っていないといったアプリケーションが制御できないなどのさまざまな理由で失敗する可能性があります。アプリケーションでは、失敗を検出し、同じ失敗の更新を繰り返し行わないようにする必要があります。失敗の結果として発生する無限ループは、アプリケーションを事実上無効にすることになります。更新が成功したことを確認する 1 つの方法として、更新を開始する前に現在のバージョン番号をファイルに書き込み、その後、アプリケーションが再起動されるときにそのバージョン番号と比較することがあります。

AIR Debug Launcher(ADL)アプリケーションを使用してアプリケーションをテストしているときに、update() メソッドを呼び出すと、IllegalOperationError 例外が発生します。

Mac OS の場合、アプリケーションの更新されたバージョンをインストールするには、適切なシステム権限を持ってアプリケーションディレクトリにインストールする必要があります。Windows または Linux の場合、管理権限を持っている必要があります。

アプリケーションの更新されたバージョンがランタイムの更新されたバージョンを必要とする場合、新しいランタイムバージョンがインストールされます。ランタイムを更新するには、コンピューターの管理権限を持っている必要があります。

注意:セキュリティ上の理由から、version パラメーターを指定する必要があります。AIR ファイルのアプリケーションのバージョン番号の確認を必須とすることで、修正済みのセキュリティ上の脆弱性が含まれている可能性のある、古いバージョンのアプリケーションが誤ってインストールされることがなくなります。

update() メソッドはクラスの静的メソッドではない点に注意してください。 Updater オブジェクトをインスタンス化して、そのオブジェクトの update() メソッドを呼び出します。 import flash.fileSystem.File; import flash.desktop.Updater; var updater:Updater = new Updater(); var airFile:File = File.applicationStorageDirectory.resolvePath("Example Application.air"); var version:String = "2.01"; updater.update(airFile, version);
air.update.ApplicationUpdaterair.update.ApplicationUpdaterUI
isSupported 現在のプラットフォームで Updater クラスがサポートされている場合、isSupported プロパティは true に設定されます。サポートされていない場合は、false に設定されます。Boolean 現在のプラットフォームで Updater クラスがサポートされている場合、isSupported プロパティは true に設定されます。サポートされていない場合は、false に設定されます。
SystemTrayIcon SystemTrayIcon クラスは、Windows&#xAE; タスクバーの通知領域(システムトレイ)スタイルのアイコンを表します。タスクバーアイコンです。 flash.desktop:InteractiveIcon SystemTrayIcon クラスは、Windows® タスクバーの通知領域(システムトレイ)スタイルのアイコンを表します。

AIR プロファイルのサポート:この機能はデスクトップオペレーティングシステムでサポートされますが、モバイルデバイスまたはテレビ用 AIR デバイスではサポートされません。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。

デスクトップオペレーティングシステムの種類によっては、システムトレイアイコンがないこともあります。現在のシステムでシステムトレイアイコンがサポートされているかどうかを確認するには、NativeApplication.supportsSystemTrayIcon を調べます。

SystemTrayIcon クラスのインスタンスは作成できません。"グローバルな" NativeApplication オブジェクトの icon プロパティからシステムトレイアイコンを表すオブジェクトを取得します。

システムトレイアイコンがサポートされている場合は、icon プロパティのタイプが SystemTrayIcon に設定されています。サポートされていない場合、icon のタイプは、InteractiveIcon の別のサブクラスである DockIcon などに設定されています。

重要:AIR がシステムトレイアイコンをサポートしていないオペレーティングシステムで NativeApplication.icon オブジェクトの SystemTrayIcon クラスのメソッドを呼び出そうとすると、ランタイム例外が生成されます。

flash.desktop.NativeApplication.iconflash.desktop.NativeApplication.supportsSystemTrayIconflash.desktop.DockIconrightClick マウスを右クリックしたときに、この SystemTrayIcon オブジェクトによって送出されます。flash.events.ScreenMouseEvent.RIGHT_CLICKflash.events.ScreenMouseEvent マウスを右クリックしたときに、この SystemTrayIcon オブジェクトによって送出されます。 rightMouseUp マウスの右ボタンを離したときに、この SystemTrayIcon オブジェクトによって送出されます。flash.events.ScreenMouseEvent.RIGHT_MOUSE_UPflash.events.ScreenMouseEvent マウスの右ボタンを離したときに、この SystemTrayIcon オブジェクトによって送出されます。 rightMouseDown マウスの右ボタンを押したときに、この SystemTrayIcon オブジェクトによって送出されます。flash.events.ScreenMouseEvent.RIGHT_MOUSE_DOWNflash.events.ScreenMouseEvent マウスの右ボタンを押したときに、この SystemTrayIcon オブジェクトによって送出されます。 click マウスをクリックしたときに、この SystemTrayIcon オブジェクトによって送出されます。flash.events.ScreenMouseEvent.CLICKflash.events.ScreenMouseEvent マウスをクリックしたときに、この SystemTrayIcon オブジェクトによって送出されます。 mouseUp マウスを離したときに、この SystemTrayIcon オブジェクトによって送出されます。flash.events.ScreenMouseEvent.MOUSE_UPflash.events.ScreenMouseEvent マウスを離したときに、この SystemTrayIcon オブジェクトによって送出されます。 mouseDown マウスを押したときに、この SystemTrayIcon オブジェクトによって送出されます。flash.events.ScreenMouseEvent.MOUSE_DOWNflash.events.ScreenMouseEvent マウスを押したときに、この SystemTrayIcon オブジェクトによって送出されます。 MAX_TIP_LENGTH システムトレイアイコンのツールヒントに対して許可されている最大の長さです。63Number システムトレイアイコンのツールヒントに対して許可されている最大の長さです。 bitmaps 様々なサイズの BitmapData オブジェクトの配列としてのアイコンイメージです。Array 様々なサイズの BitmapData オブジェクトの配列としてのアイコンイメージです。

指定されたオペレーティングシステムのコンテキストでアイコンを表示する場合、表示するサイズに最も近い配列のビットマップが使用されます(必要に応じて伸縮)。一般的なサイズには、16x16、32x32、48x48 および 128x128 があります (512x512 ピクセルのアイコンは、近い将来にいくつかのオペレーティングシステムアイコンで使用される可能性があります)。

一部のコンテキストでは、bitmaps プロパティに何も割り当てられていない場合、オペレーティングシステムがデフォルトのシステムアイコンを使用することがあります。他のコンテキストでは、アイコンは表示されません。

アイコンの外観を設定または変更するには、BitmapData オブジェクトの配列を bitmaps プロパティに割り当てます。

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

bitmaps 配列を直接変更しても効果はありません。

アイコンイメージを消去するには、bitmaps プロパティに空の配列を割り当てます。

注意:アイコン用のイメージファイルを読み込む場合、通常、最も適切なアルファブレンドが提供されるのは PNG ファイル形式です。GIF 形式は透明度のオンまたはオフのみをサポートし、ブレンドは行いません。JPG 形式は、透明度をまったくサポートしません。

height アイコンの現在の表示の高さです(ピクセル単位)。int アイコンの現在の表示の高さです(ピクセル単位)。

一部のアイコンのコンテキストでは、動的なサイズ調整がサポートされます。height プロパティは、現在のコンテキストの bitmaps 配列から選択されたアイコンの高さを示します。オペレーティングシステムによってアイコンが伸縮されている場合は、実際の表示の高さはこれとは異なります。

menu システムトレイアイコンメニューです。flash.display:NativeMenu システムトレイアイコンメニューです。 tooltip システムトレイアイコンにポップアップ表示されるツールヒントです。String システムトレイアイコンにポップアップ表示されるツールヒントです。ストリングが SystemTrayIcon.MAX_TIP_LENGTH より長い場合、ツールヒントは切り詰められます。 width アイコンの現在の表示幅です(ピクセル単位)。int アイコンの現在の表示幅です(ピクセル単位)。

一部のアイコンのコンテキストでは、動的なサイズ調整がサポートされます。width プロパティは、現在のコンテキストの bitmaps 配列から選択されたアイコンの幅を示します。オペレーティングシステムによってアイコンが伸縮されている場合は、実際の表示幅はこれとは異なります。

Clipboard Clipboard クラスは、クリップボードを通じてデータとオブジェクトを転送するコンテナを提供します。Object Clipboard クラスは、クリップボードを通じてデータとオブジェクトを転送するコンテナを提供します。オペレーティングシステムクリップボードには、静的 generalClipboard プロパティを通じてアクセスできます。

Clipboard オブジェクトには、同じ情報を複数の形式で格納できます。情報を複数の形式で提供することにより、別のアプリケーションでその情報を使用できる可能性が高くなります。setData() メソッドまたは setDataHandler() メソッドを使用して、Clipboard オブジェクトにデータを追加します。

標準形式は次のとおりです。

  • BITMAP_FORMAT:BitmapData オブジェクト(AIR のみ)
  • FILE_LIST_FORMAT:File オブジェクトの配列(AIR のみ)
  • HTML_FORMAT:HTML 形式のストリングデータ
  • TEXT_FORMAT:ストリングデータ
  • RICH_TEXT_FORMAT:リッチテキストフォーマットデータを含む ByteArray
  • URL_FORMAT:URL ストリング(AIR のみ)

ClipboardFormats クラスに標準形式の名前のこれらの定数が定義されます。

オペレーティングシステムとの間で転送が行われると、 ActionScript データ型とネイティブオペレーティングシステムのクリップボード形式との間で標準形式が自動的に変換されます。

アプリケーションで定義された形式を使用して、ActionScript オブジェクトを Clipboard オブジェクトに追加できます。オブジェクトを直列化できる場合、参照とオブジェクトのクローンの両方を使用できるようになります。オブジェクト参照は、元のアプリケーション内でのみ有効です。

転送する情報を特定の形式に変換するための計算の負荷が大きい場合は、変換を実行する関数の名前を指定できます。この関数は、特定の形式が受信側のコンポーネントまたはアプリケーションによって読み取られた場合にのみ呼び出されます。setDataHandler() メソッドを使用して、遅延レンダリング関数を Clipboard オブジェクトに追加します。場合によっては、ドロップ操作が行われる前に、オペレーティングシステムが関数を呼び出すことがあります。例えば、ハンドラー関数を使用して、AIR アプリケーションからファイルシステムにドラッグされたファイルのデータを提供する場合、オペレーティングシステムでは、ドラッグジェスチャが AIR アプリケーションを離れるとすぐに、データハンドラー関数を呼び出します。その結果、通常はファイルデータのダウンロード中または作成中に、予期せず停止する場合があります。

AIR アプリケーションに関する注意:HTML のドラッグ&ドロップイベントおよびコピー&ペーストイベントに対して送出されるイベントオブジェクトによって参照されるクリップボードオブジェクトは、AIR Clipboard オブジェクトと同じタイプではありません。JavaScript クリップボードオブジェクトについては、AIR 開発者ガイドを参照してください。

Flash Player アプリケーションに関する注意:Flash Player 10 では、クリップボードからのペースト操作には最初に「ペースト」コマンドに対応するショートカットキーを押すかコンテキストメニューの「ペースト」コマンドをマウスでクリックするなどのユーザーイベントが必要です。Clipboard.getData() は、InteractiveObject が paste イベントを受け取り、paste イベントを実行している場合にのみクリップボードのコンテンツを返します。他の環境での Clipboard.getData() の呼び出しは失敗します。アプリケーションサンドボックスの外部にあるコンテンツには AIR で同じ制限が適用されます。

Linux の場合、クリップボードのデータは AIR アプリケーションが終了すると失われます。

次の例では、ClipboardExample クラスを使用して、ある変数から別の変数にシステムクリップボードを介してストリングをコピーします(Adobe AIR の場合)。これを行うには、以下の手順を実行します。
  1. データ(この例ではストリング)を Clipboard.generalClipboard に書き込みます。
  2. Clipboard.generalClipboard からクリップボード定数を読み取ります。

注意:クリップボードのデータアクセスに対するセキュリティ上の制限により、この例は Flash Player では機能しません。Flash Player の場合、paste イベントハンドラーでは Clipboard オブジェクトの getData() メソッドのみ呼び出すことができます。

package { import flash.display.Sprite; import flash.desktop.Clipboard; import flash.desktop.ClipboardFormats; import flash.desktop.ClipboardTransferMode; public class ClipboardExample extends Sprite { public function ClipboardExample() { var sally:String = "Sally"; var person:String; copy(sally); person = paste(); trace(person); //traces: "Sally" } private function copy(text:String):void { Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, text); } private function paste():String { if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)) { return String(Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT)); } else { return null; } } } }
flash.desktop.NativeDragManagerflash.desktop.ClipboardFormatsflash.desktop.ClipboardTransferModeClipboard 空の Clipboard オブジェクトを作成します。Flash Player では、オペレーティングシステムのクリップボードのみを使用できるため、new Clipboard() は、Flash Player ではサポートされていません。オペレーティングシステムのクリップボードを使用するコピー&ペースト操作に対しては、新しいクリップボードオブジェクトを作成する代わりに Clipboard.generalClipboard オブジェクトを使用します。AIR アプリケーションでは、エラーはスローされません。 IllegalOperationErrorflash.errors:IllegalOperationError 空の Clipboard オブジェクトを作成します。

Clipboard オブジェクトを作成し、Adobe AIR でのネイティブなドラッグ&ドロップジェスチャのデータを保持します。Clipboard オブジェクトは 1 つのドラッグ&ドロップジェスチャにのみ使用できます。再利用することはできません。

コピー&ペースト操作用に Clipboard オブジェクトを作成しないでください。代わりに単一の Clipboard.generalClipboard オブジェクトを使用してください。

次の例では、NativeDragManager クラスで使用する新しいクリップボードを作成します。

注意:オペレーティングシステムのクリップボードを使用するコピー & ペースト操作に対しては、新しいクリップボードを作成する代わりに Clipboard.generalClipboard オブジェクトを使用します。

import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
generalClipboard
clearData 指定された形式のデータ表現を削除します。このコンテキストでは、generalClipboard.clearData() の呼び出しは許可されません。Flash Player では、このメソッドの呼び出しは、キー入力やマウスのクリックなどのユーザーイベントの処理時にのみ成功します。AIR では、この制限はアプリケーションセキュリティサンドボックス外のコンテンツにのみ適用されます。 SecurityErrorSecurityErrorformatString削除するデータ形式です。 指定された形式のデータ表現を削除します。 次の例では、システムクリップボードから、ClipboardFormats.TEXT_FORMAT 形式のすべてのデータをクリアします。 import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT); clear この Clipboard オブジェクトからすべてのデータ表現を削除します。このコンテキストでは、generalClipboard.clear() の呼び出しは許可されません。Flash Player では、このメソッドの呼び出しは、キー入力やマウスのクリックなどのユーザーイベントの処理時にのみ成功します。AIR では、この制限はアプリケーションセキュリティサンドボックス外のコンテンツにのみ適用されます。 SecurityErrorSecurityError この Clipboard オブジェクトからすべてのデータ表現を削除します。 次の例では、システムクリップボードをクリアします。 Clipboard.generalClipboard.clear(); getData 指定された形式のデータが存在する場合、クリップボードデータを取得します。transferMode は、ClipboardTransferMode クラスで定義された名前のいずれかではありません。 ErrorError要求された Clipboard オブジェクトは、スコープ内になくなります(AIR のみ)。 IllegalOperationErrorflash.errors:IllegalOperationErrorこのコンテキストでは、クリップボードからの読み取りまたはクリップボードへの書き込みは許可されません。Flash Playerでは、このメソッドの呼び出しはpaste イベントの処理時にのみ成功します。AIR では、この制限はアプリケーションセキュリティサンドボックス外のコンテンツにのみ適用されます。 SecurityErrorSecurityErrorデータ形式に対応するタイプのオブジェクトです。 ObjectformatString返すデータ形式です。フォーマットストリングには、ClipboardFormats クラスに定義された標準の名前のいずれか、またはアプリケーションで定義された名前を含めることができます。 transferModeStringoriginalPreferredアプリケーションで定義されたデータ形式にアクセスするときに、参照または直列化されたコピーを返すかどうかを指定します。この値は、ClipboardTransferMode クラスに定義されている名前のいずれかにする必要があります。標準データ形式では、この値は無視されます。コピーは常に返されます。 指定された形式のデータが存在する場合、クリップボードデータを取得します。

Flash Playerでは、getData() の呼び出しは paste イベントハンドラー内で実行する必要があります。AIR では、この制限はアプリケーションセキュリティサンドボックス外のコンテンツにのみ適用されます。

標準のデータ形式にアクセスすると、対応する Flash データタイプの新しいオブジェクトとしてデータが返されます。

アプリケーションで定義された形式にアクセスする場合、transferMode パラメーターの値によって、元のオブジェクトへの参照を返すか、元のオブジェクトの直列化されたコピーが格納された匿名オブジェクトを返すかが決まります。originalPreferred モードまたは clonePreferred モードを指定すると、適切なバージョンを使用できない場合に代わりのバージョンが返されます。originalOnly モードまたは cloneOnly モードを指定すると、要求されたバージョンを使用できない場合に null が返されます。

次の例では、システムクリップボードからテキスト(存在する場合)を読み込みます。 import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
setData()flash.desktop.ClipboardFormatsflash.desktop.ClipboardTransferMode
hasFormat 指定された形式のデータがこの Clipboard オブジェクトに存在するかどうかをチェックします。要求された Clipboard オブジェクトは、スコープ内になくなります。 IllegalOperationErrorflash.errors:IllegalOperationErrorこのコンテキストでは、クリップボードからの読み取りまたはクリップボードへの書き込みは許可されません。 SecurityErrorSecurityError指定された形式のデータが存在する場合、true になります。 BooleanformatStringチェックする形式のタイプです。 指定された形式のデータがこの Clipboard オブジェクトに存在するかどうかをチェックします。

ClipboardFormats クラスの定数を使用して、標準の形式名を参照します。

次の例では、システムクリップボードを調べて、テキスト形式のデータを使用できるかどうか判別します。 if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
flash.desktop.ClipboardFormats
setDataHandler 転送用のデータを生成するハンドラー関数に参照を追加します。format または handlernull です。 TypeErrorTypeError要求された Clipboard オブジェクトは、スコープ内になくなります(AIR のみ)。 IllegalOperationErrorflash.errors:IllegalOperationErrorこのコンテキストでは、クリップボードからの読み取りまたはクリップボードへの書き込みは許可されません。Flash Player では、このメソッドの呼び出しは、キー入力やマウスのクリックなどのユーザーイベントの処理時にのみ成功します。AIR では、この制限はアプリケーションセキュリティサンドボックス外のコンテンツにのみ適用されます。 SecurityErrorSecurityErrorハンドラーが正常に設定された場合は true、それ以外の場合は false になります。 BooleanformatString転送するデータを返す関数です。 handlerFunctionデータ形式です。 serializableBooleantruetrue を指定するのは、handler で返されるオブジェクトを直列化(および非直列化)できる場合です。 転送用のデータを生成するハンドラー関数に参照を追加します。

ハンドラー関数を使用して、実際にデータにアクセスするまで、データの作成またはレンダリングを遅らせます。

ハンドラー関数は、指定された形式に適合するデータ型を返す必要があります。

形式返す型ClipboardFormats.TEXT_FORMATStringClipboardFormats.HTML_FORMATStringClipboardFormats.URL_FORMATString(AIR のみ)ClipboardFormats.RICH_TEXT_FORMATByteArrayClipboardFormats.BITMAP_FORMATBitmapData(AIR のみ)ClipboardFormats.FILE_LIST_FORMATFile の配列(AIR のみ)ClipboardFormats.FILE_PROMISE_LIST_FORMATFile の配列(AIR のみ)カスタムフォーマット名void 以外

指定された形式のデータを読み取る場合にのみ、ハンドラー関数が呼び出されます。場合によっては、ドロップ操作が行われる前に、オペレーティングシステムが関数を呼び出すことがあります。例えば、ハンドラー関数を使用して、AIR アプリケーションからファイルシステムにドラッグされたファイルのデータを提供する場合、オペレーティングシステムでは、ドラッグジェスチャが AIR アプリケーションを離れるとすぐに、データハンドラー関数を呼び出します。その結果、通常はファイルデータのダウンロード中または作成中に、予期せず停止する場合があります。この目的では、URLFilePromise を代わりに使用できます。

基になるデータは、アプリケーションでそのデータを保護する手順を実行しない場合、ハンドラーを追加した時点からデータを読み取る時点までの間変更できます。ハンドラー関数によって表されるクリップボード上のデータが複数回読み取られた場合の動作は保証されません。クリップボードからは、最初の関数呼び出しによって作成されたデータが返される場合もあれば、関数が再度呼び出される場合もあります。いずれの動作にも依存しないでください。

Adobe AIR のアプリケーションサンドボックスでは、いつでも setDataHandler() を呼び出すことができます。他のコンテキストでは、キー入力やマウスクリックなどのユーザー操作に応答する場合にのみ、setDataHandler() を呼び出すことができます。

この Clipboard オブジェクトにデータを直接追加するには、代わりに setData() メソッドを使用します。同じ形式名を使用して setData() メソッドと setDataHandler() メソッドの両方を呼び出すと、ハンドラー関数は呼び出されません。

注意:Mac OS で format パラメーターに ClipboardFormats.URL_FORMAT を設定した場合、URL が転送されるのは、ハンドラー関数が有効な URL を返す場合に限られます。それ以外の場合、Clipboard オブジェクトは空になります(getData() を呼び出すと、null が返されます)。

次の例では、遅延データ関数を使用して、システムクリップボードに乱数を追加します。 import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
setData()flash.desktop.ClipboardFormatsflash.desktop.URLFilePromise
setData 転送する情報の指定されたデータ形式の表現を追加します。要求された Clipboard オブジェクトは、スコープ内になくなります(これは、ドラッグ&ドロップ操作で作成されたクリップボードでのみ発生する可能性があります)。 IllegalOperationErrorflash.errors:IllegalOperationErrorこのコンテキストでは、クリップボードからの読み取りまたはクリップボードへの書き込みは許可されません。Flash Player では、このメソッドの呼び出しは、キー入力やマウスのクリックなどのユーザーイベントの処理時にのみ成功します。AIR では、この制限はアプリケーションセキュリティサンドボックス外のコンテンツにのみ適用されます。 SecurityErrorSecurityErrorformat または datanull です。 TypeErrorTypeErrorデータが正常に設定された場合は true、それ以外の場合は false になります。Flash Player では、format が ClipboardFormats のサポートされないメンバーである場合、false が返されます(Flash Player では、ClipboardFormats.URL_FORMATClipboardFormats.FILE_LIST_FORMATClipboardFormats.FILE_PROMISE_LIST_FORMAT または ClipboardFormats.BITMAP_FORMAT はサポートされていません)。 BooleanformatStringデータ形式です。 dataObject追加する情報です。 serializableBooleantrue直列化(および非直列化)が可能なオブジェクトの場合は true を指定します。 転送する情報の指定されたデータ形式の表現を追加します。

Adobe AIR のアプリケーションサンドボックスでは、いつでも setData() を呼び出すことができます。他のコンテキストでは、キー入力やマウスクリックなどのユーザー操作に応答する場合にのみ、setData() を呼び出すことができます。

同じ情報の別の表現を、異なる形式でクリップボードに追加できます。これにより、他の多くのコンポーネントまたはアプリケーションでもデータを利用できるようになります。例えば、イメージ編集アプリケーション用のビットマップデータ、URL およびネイティブファイルシステムへの転送用のエンコードされた PNG ファイルとしてイメージを追加できます。

data パラメーターは、指定された形式に適合するデータ型にする必要があります。

形式説明ClipboardFormats.TEXT_FORMATStringストリングデータです。ClipboardFormats.HTML_FORMATStringHTML ストリングデータです。ClipboardFormats.URL_FORMATStringURL ストリングです(AIR のみ)。ClipboardFormats.RICH_TEXT_FORMATByteArrayリッチテキストフォーマットデータです。ClipboardFormats.BITMAP_FORMATBitmapDataビットマップデータ(AIR のみ)ClipboardFormats.FILE_LIST_FORMATFile の配列ファイルの配列(AIR のみ)カスタムフォーマット名すべてオブジェクト参照および直列化されたクローンです。

カスタムの形式名の先頭を "air:" または "flash:" にすることはできません。カスタムの形式を使用するときに名前が競合するのを避けるために、アプリケーション ID やパッケージ名を接頭辞として使用して、「com.example.applicationName.dataPacket」のような形式にすることができます。

アプリケーション内または AIR アプリケーション間で転送する場合、serializable パラメーターによって参照とコピーの両方を使用できるのか、オブジェクトへの参照のみを使用できるのかが決まります。serializabletrue に設定すると、参照とデータオブジェクトのコピーの両方を使用できるようになります。serializablefalse に設定すると、オブジェクト参照のみを使用できるようになります。オブジェクト参照は、現在のアプリケーション内でのみ有効です。そのため、serializablefalse に設定されている場合、その形式のデータは、他の Flash Player または AIR アプリケーションで使用できないことも意味します。コンポーネントは、目的の形式のデータにアクセスするときに適切なクリップボード転送モードを設定することにより、参照を取得するかオブジェクトのコピーを取得するかを選択できます。

注意:標準形式は、サポートされているアプリケーションの外部にデータをペーストまたはドラッグする場合、常にネイティブ形式に変換されます。そのため、serializable パラメーターの値は、Flash ベース以外のアプリケーションによる標準形式のデータの使用に影響を与えません。

ある形式でのデータのレンダリングを遅らせるには、代わりに setDataHandler() メソッドを使用します。setData() メソッドと setDataHandler() メソッドの両方を使用して同じ形式名でデータ表現を追加すると、ハンドラー関数は呼び出されません。

注意:Mac OS で format パラメーターに ClipboardFormats.URL_FORMAT を設定した場合、URL が転送されるのは、その URL が有効である場合に限られます。それ以外の場合、Clipboard オブジェクトは空になります(getData() を呼び出すと、null が返されます)。

次の例では、コンテンツをテキスト形式と HTML 形式の両方でシステムクリップボードに追加します。 import flash.desktop.ClipboardFormats; var htmlString:String = "<html><body>Body content</body></html>"; Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, urlString); Clipboard.generalClipboard.setData(ClipboardFormats.HTML_FORMAT, urlString);
setDataHandler()getData()flash.desktop.ClipboardFormatsflash.desktop.ClipboardTransferMode
formats この Clipboard オブジェクトで使用できるデータ形式の名前が含まれたストリングの配列です。Array この Clipboard オブジェクトで使用できるデータ形式の名前が含まれたストリングの配列です。

ClipboardFormats クラスに標準形式の名前のストリング定数が定義されます。この他の、アプリケーションで定義されたストリングは、データをオブジェクトとして転送する場合、形式名として使用することもできます。

次の例では、システムクリップボードの formats 配列を読み取ります。 var availableFormats:Array = Clipboard.generalClipboard.formats;
flash.desktop.ClipboardFormats
generalClipboard オペレーティングシステムクリップボードです。flash.desktop:Clipboard オペレーティングシステムクリップボードです。

システムのクリップボードにペーストされたデータは、他のアプリケーションからも利用できます。それには Web ブラウザー内で実行される保護されていないリモートコードも含まれます。

注意:Flash Player 10 アプリケーションでは、クリップボードからのペースト操作には最初に「ペースト」コマンドに対応するショートカットキーを押すかコンテキストメニューの「ペースト」コマンドをマウスでクリックするなどのユーザーイベントが必要です。Clipboard.getData() は、InteractiveObject が paste イベントを受け取り、paste イベントを実行している場合にのみクリップボードのコンテンツを返します。他の環境での Clipboard.getData() の呼び出しは失敗します。アプリケーションサンドボックスの外部にあるコンテンツには AIR で同じ制限が適用されます。

generalClipboard オブジェクトは自動的に作成されます。このプロパティには Clipboard の別のインスタンスを割り当てることはできません。その代わりに、getData() メソッドと setData() メソッドを使用して既存のオブジェクトに対してデータの読み書きを行います。

クリップボードは、新しいデータを書き込む前に必ずクリアして、すべての形式の古いデータを確実に消去する必要があります。

generalClipboard オブジェクトを AIR NativeDragManager に渡すことはできません。AIR アプリケーションでのネイティブなドラッグ&ドロップ操作に対しては、新しい Clipboard オブジェクトを作成してください。

オペレーティングシステムのクリップボードに書き込む場合 import flash.desktop.ClipboardFormats; var copy:String = "A string to copy to the system clipboard."; Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, copy); オペレーティングシステムのクリップボードから読み取る場合 import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
supportsFilePromise クライアントシステムでファイルプロミスのクリップボードがサポートされているかどうかを示します。Boolean クライアントシステムでファイルプロミスのクリップボードがサポートされているかどうかを示します。
NotificationType NotificationType クラスは、priority パラメーター(DockIcon bounce() メソッドのパラメーター)と type パラメーター(NativeWindow notifyUser() メソッドのパラメーター)で使用する定数を定義します。Object NotificationType クラスは、priority パラメーター(DockIcon bounce() メソッドのパラメーター)と type パラメーター(NativeWindow notifyUser() メソッドのパラメーター)で使用する定数を定義します。 flash.desktop.DockIcon.bounce()flash.display.NativeWindow.notifyUser()CRITICAL 通知警告が重要な内容であり、ユーザーは迅速に注意を払う必要があることを指定します。criticalString 通知警告が重要な内容であり、ユーザーは迅速に注意を払う必要があることを指定します。 INFORMATIONAL 通知警告が実質上情報の通知のみを目的としていて、ユーザーがそれを無視しても問題がないことを指定します。informationalString 通知警告が実質上情報の通知のみを目的としていて、ユーザーがそれを無視しても問題がないことを指定します。 IFilePromise IFilePromise インターフェイスでは、AIR ランタイムがファイルプロミス用のデータの読み取りに使用するインターフェイスを定義します。 IFilePromise インターフェイスでは、AIR ランタイムがファイルプロミス用のデータの読み取りに使用するインターフェイスを定義します。

ファイルプロミスはドラッグ&ドロップクリップボード形式です。これにより、ユーザーは、まだ存在しないファイルを AIR アプリケーションからドラッグできます。AIR は、IFilePromise インターフェイスで定義されたメソッドおよびプロパティを使用して、ファイルプロミスがドロップされたときに書き込まれるデータにアクセスします。

ファイルプロミスが適切なターゲットにドロップされると、AIR は IFilePromise の open() メソッドを呼び出します。このメソッドを実装すると、データプロバイダーが IDataInput インターフェイスを実装するオブジェクトとして返される必要があります。プロバイダーオブジェクトには、ビルトインクラス(ByteArray、FileStream、Socket、URLStream など)のいずれかまたはカスタムクラスを使用できます。

ByteArray などを使用して、データプロバイダーからのデータに同期的にアクセスする場合、AIR は IDataInput の bytesAvailable プロパティが示すデータ量を読み取り、それを書き込み先のファイルに書き込みます。

Socket などを使用して、データプロバイダーからのデータに非同期的にアクセスする場合、AIR はプロバイダーが送出したイベントを使用し、データの読み取り処理を規制して、データをファイルに書き込みます。データは、complete イベントまたは close イベントを受信するまで、progress イベントごとに読み取られます。実行時に以下のイベントを監視します(ただし、データプロバイダーは必ずしもすべてのイベントを送出する必要はありません)。

  • Event.OPEN
  • ProgressEvent.PROGRESS
  • ProgressEvent.SOCKET_DATA
  • Event.COMPLETE
  • Event.CLOSE
  • IOErrorEvent.IOERROR
  • SecurityErrorEvent.SECURITY_ERROR
  • HTTPStatusEvent.HTTP_STATUS
  • HTTPStatusEvent.HTTP_RESPONSE_STATUS

カスタムデータプロバイダーのクラスは、データが使用できるようになると、progress イベントまたは socketData イベントを送出します。同様に、要求されたデータがすべて読み取られると、complete または close のいずれかのイベントが送出されます。エラーイベントは、データ転送が失敗し、処理を中止する必要があることをランタイムに通知します。必要に応じて、他のイベントが送出され、エラー処理やアプリケーションロジックのデバッグに役立ちます。

IFilePromise で定義されたメソッドは、ドラッグ&ドロップ操作の完了後に AIR ランタイムによって呼び出されることを意図しています。通常、開発者がこれらのメソッドをコードから呼び出すことはありません。

注意:air.desktop の URLFilePromise クラスは IFilePromise インターフェイスを実装し、URLStream をデータプロバイダーとして使用します。air.desktop ライブラリは個別の SWF ファイルおよび SWC ファイルとして、AIR SDK に含まれています。

flash.desktop.Clipboardflash.desktop.ClipboardFormatsflash.desktop.NativeDragManagerclose データの読み取りがすべて完了したときに、AIR ランタイムによって呼び出されます。 データの読み取りがすべて完了したときに、AIR ランタイムによって呼び出されます。

close() が呼び出された後に、open() によって返されたオブジェクト参照に対して、メソッドが呼び出されることはありません。データプロバイダーオブジェクトは、破棄しても問題ありません。

open データプロバイダーオブジェクトを返します。IDataInput インターフェイスを実装している IDataInput オブジェクトです。非同期的にデータが提供される場合、返されるオブジェクトは IEventDispatcher も実装している必要があります。 flash.utils:IDataInput データプロバイダーオブジェクトを返します。

データプロバイダーオブジェクトは、データの読み取りメソッドを定義する IDataInput インターフェイスを実装している必要があります。IFilePromise の isAsync プロパティが true を返す場合、データプロバイダーオブジェクトは IEventDispatcher インターフェイスも実装している必要があります。次のビルトインクラスは、データプロバイダーとして使用できます。

  • ByteArray(同期)
  • FileStream(同期または非同期)
  • Socket(非同期)
  • URLStream(非同期)

必要なインターフェイスを実装している(または、別のクラスを拡張してインターフェイスを実装する)カスタムクラスのオブジェクトも提供できます。

reportError AIR ランタイムによって呼び出され、データプロバイダーオブジェクトからデータを読み取る際に発生するエラーを IFilePromise に通知します。eflash.events:ErrorEventエラーの詳細情報が含まれているエラーイベントです。 AIR ランタイムによって呼び出され、データプロバイダーオブジェクトからデータを読み取る際に発生するエラーを IFilePromise に通知します。 isAsync 非同期のデータ転送がサポートされているかどうかを示します。Boolean 非同期のデータ転送がサポートされているかどうかを示します。

true の場合、open() メソッドによって返されたデータプロバイダーオブジェクトは、IEventDispatcher インターフェイスを実装している(またはクラスを拡張してこのインターフェイスを実装する)必要があります。データ転送は、progress イベントまたは socketData イベントに基づいて実行されます。AIR は、complete イベントまたは close イベントが送出されるまで、これらのデータの進行状況を示すイベントを待機します。

isAsync が false を返すと、AIR ランタイムは、すべてのデータが直ちに使用可能であるとみなします。この場合、ランタイムはデータプロバイダーオブジェクトの bytesAvailable プロパティを読み取って、使用可能なデータ量を判断し、同期的にそのデータ量を読み取ります。

relativePath このファイルプロミスによって作成されるファイルの相対パスとファイル名です。String相対パスが短縮形「..」を使用してドロップ先の 1 つ以上の親ディレクトリを辿っている場合。 ArgumentErrorArgumentError このファイルプロミスによって作成されるファイルの相対パスとファイル名です。

このプロパティでは、有効なパスを提供する必要があります。パスが有効でないと、ファイルプロミスがドロップされたときに、引数エラーがスローされます。

パスにはサブディレクトリを含めることができ、このサブディレクトリは、ドロップ先に基づいて解決されます。サブディレクトリは必要に応じて作成されます。サブディレクトリを含める場合は、File.separator 定数を使用して、現在のオペレーティングシステムに対応した適切なパス区切り文字を挿入してください。短縮形「..」を使用して、親ディレクトリへは移動できません。移動しようとすると、引数エラーがスローされます。ファイルシステムで使用できない文字はパスから除去されます。この際、エラーはスローされません。

注意:クライアントコードでパスを設定できるようにするには、署名付きの setter 関数(function set relativePath( value:String ):void)を実装します。

NativeProcessStartupInfo このクラスでは、ホストオペレーティングシステム上でプロセスの開始に使用する基本情報を提供します。Object このクラスでは、ホストオペレーティングシステム上でプロセスの開始に使用する基本情報を提供します。作成されると、NativeProcess オブジェクトの start() メソッドに渡されます。

ネイティブプロセスには、ネイティブインストーラーを使用してインストールされた AIR アプリケーション(拡張デスクトッププロファイル内のアプリケーション)のみがアクセスできます。

NativeProcess.html#start()NativeProcessStartupInfo 空の NativeProcessStartupInfo オブジェクトを作成します。 空の NativeProcessStartupInfo オブジェクトを作成します。 arguments 起動時にプロセスに渡されるコマンドライン引数です。 起動時にプロセスに渡されるコマンドライン引数です。

arguments Vector 内の各ストリングは、含まれている文字列に関係なく、個別の引数として実行可能ファイルに渡されます。つまり、正確に 1 対 1 で対応し、再解釈されることはありません。AIR では、ストリング内でエスケープする必要のある文字(空白文字など)はすべて自動的にエスケープされます。

executable ホストオペレーティングシステム上の実行可能ファイルを参照する File オブジェクトです。flash.filesystem:File値に null が指定されている場合、ディレクトリを参照している場合または存在しないファイルを参照している場合。 ArgumentErrorArgumentError ホストオペレーティングシステム上の実行可能ファイルを参照する File オブジェクトです。このプロパティは、実行可能ファイルへのフルパス(必要な拡張子を含む)を示す必要があります。

注意:Mac OS で、アプリケーションバンドル内の実行可能ファイルを起動する場合、File オブジェクトのパスには、app ファイルへのパスではなく、(バンドル内の)実行可能ファイルへのフルパスを含むようにしてください。

workingDirectory 新しいネイティブプロセス用の初期作業ディレクトリを参照する File オブジェクトです。flash.filesystem:File値が存在しないか、ディレクトリ以外の場合 ArgumentErrorArgumentError 新しいネイティブプロセス用の初期作業ディレクトリを参照する File オブジェクトです。isDirectory が false の場合に値が割り当てられると、ArgumentError がスローされます。
SystemIdleMode SystemIdleMode クラスは、システムのアイドル時の動作に関する定数値を提供します。Object SystemIdleMode クラスは、システムのアイドル時の動作に関する定数値を提供します。これらの定数は NativeApplication クラスの systemIdleMode プロパティで使用されます。 flash.desktop.NativeApplication.systemIdleModeKEEP_AWAKE システムがアイドルモードに入らないようにします。keepAwakeString システムがアイドルモードに入らないようにします。

Android のアプリケーションでは、アプリケーション記述子の DISABLE_KEYGUARD および WAKE_LOCK に Android 権限を指定する必要があります。そうしないと、Android ではこの設定が無視されます。

NORMAL システムは、標準の「アイドルユーザー」動作を実行します。normalString システムは、標準の「アイドルユーザー」動作を実行します。
ClipboardTransferMode ClipboardTransferMode クラスは、transferMode パラメーター(Clipboard.getData() メソッドのパラメーター)の値として使用するモードの定数を定義します。クリップボード転送モードの定数を定義します。 Object ClipboardTransferMode クラスは、transferMode パラメーター(Clipboard.getData() メソッドのパラメーター)の値として使用するモードの定数を定義します。

転送モードでは、クリップボードに格納されているオブジェクトにアクセスするときに、参照またはコピーを返すかどうかについてのヒントが提供されます。

flash.desktop.Clipboard.getData()CLONE_ONLY Clipboard オブジェクトは、コピーのみを返します。cloneOnlyString Clipboard オブジェクトは、コピーのみを返します。 CLONE_PREFERRED Clipboard オブジェクトは、コピーが存在する場合はコピーを返し、存在しない場合は参照を返します。clonePreferredString Clipboard オブジェクトは、コピーが存在する場合はコピーを返し、存在しない場合は参照を返します。 ORIGINAL_ONLY Clipboard オブジェクトは、参照のみを返します。originalOnlyString Clipboard オブジェクトは、参照のみを返します。 ORIGINAL_PREFERRED Clipboard オブジェクトは、参照が存在する場合は参照を返し、存在しない場合はコピーを返します。originalPreferredString Clipboard オブジェクトは、参照が存在する場合は参照を返し、存在しない場合はコピーを返します。
NativeDragManager NativeDragManager クラスは、ドラッグ&ドロップ操作を調整します。Object NativeDragManager クラスは、ドラッグ&ドロップ操作を調整します。ネイティブドラッグ&ドロップ API を使用すると、ユーザーは、AIR アプリケーションとネイティブのオペレーティングシステムとの間、2 つの AIR アプリケーションの間または 1 つのアプリケーション内のコンポーネントの間でデータをドラッグできるようになります。

次の種類のデータを転送できます。

  • ビットマップ
  • ファイル
  • テキスト
  • URL ストリング
  • 直列化されたオブジェクト
  • オブジェクト参照(元のアプリケーション内でのみ有効)

注意:すべての NativeDragManager メンバーが静的メンバーです。このクラスのインスタンスを作成する必要はありません。

ドラッグ&ドロップ操作は、ユーザーが表示されたアイテムをクリックして別の場所にドラッグすると開始される、ユーザーインターフェイスのジェスチャです。ドラッグジェスチャを実行している間、AIR アプリケーションウィンドウ内を移動するにつれて、表示リスト上のインタラクティブオブジェクトによってネイティブドラッグイベントが送出されます。これらのイベントのハンドラーで NativeDragManager クラスのメソッドを呼び出すと、ドラッグしたアイテムをオブジェクトにドロップできるかどうかを示すことができます。これに応答してマウスポインターが変わり、ユーザーにフィードバックが提供されます。

AIR プロファイルのサポート:この機能はテレビ用 AIR デバイスではサポートされません。また、すべてのモバイルデバイスでサポートされません。NativeDragManager.isSupported プロパティを使用して、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。

ドラッグアクション

通常、ドラッグ & ドロップジェスチャは、アクションと呼ばれる 3 種類の操作に使用されます。これらのアクションの意味はアプリケーションのコンテキストに応じて異なるため、ランタイムではアクションに対して特定の動作は適用されません。ただし、アクションを適切に実装すると、アプリケーションに対するユーザーの操作性が向上します。

実行可能なアクションは次のとおりです。

  • copy — データのコピーを作成し、元のデータには変更を加えません(1 つのアプリケーション内でオブジェクトをドラッグする場合、元のオブジェクトへの参照ではなくそのオブジェクト自体をコピーするときは注意が必要です)。
  • move — アイテムをあるリストから別のリストに移動する場合のように、元のコンテキストから、ドロップターゲットに定義されたコンテキストにデータを移動します。
  • link — アイテムを元のコンテキスト内に残したまま、元のデータへの参照またはショートカットを作成します。

allowedActions パラメーターを、ドラッグ操作を開始する NativeDragManager.doDrag() 呼び出しに指定することにより、実行可能なアクションをドラッグジェスチャに設定できます。allowedActions パラメーターを指定しない場合は、すべてのアクションが許可されます。NativeDragEvent オブジェクトの allowedActions プロパティを使用すると、ドラッグ可能ターゲットで実行できるアクションを確認できます。また、実行できるのが互換性のないアクションのみのドロップを受け入れないようにできます(ただし、ランタイムでは適用できません)。

ドロップターゲットが単一のアクションのみを実装している場合、オブジェクトは NativeDragManager の dropAction プロパティを、nativeDragEnter イベントおよび nativeDragOver イベントの両方のハンドラーで設定できます。ドロップの前にプロパティを設定することによって、ドラッグマネージャーはマウスポインターを更新してサポートされるアクションを示すことができ、ユーザーが修飾キーを使用して互換性のないアクションを選択することを防止できます。指定したアクションが許可されるアクションのいずれでもない場合、ターゲットが acceptDrop() メソッドを呼び出しても、ドロップは許可されません。

ドロップを受け入れる場合は、NativeDragManager.dropAction プロパティを設定することにより、ドロップ可能ターゲットが nativeDragDrop イベントに応答して選択したアクションを指定する必要があります。このアクションは、nativeDragComplete イベントで元の開始表示オブジェクトに通知されます。ドロップターゲットにアクションが設定されていない場合、デフォルトのアクションが、許可されたアクションから copy、move、link の優先順位に従って選択されます。開始オブジェクトは、選択されたアクションに応じて内部状態を更新する必要があります。

NativeDragActions クラスにアクション名のストリング定数が定義されます。

イベントの順序

NativeDragManager.doDrag() メソッド(mouseDown イベントハンドラー内または mouseMove イベントハンドラー内)を呼び出すことによりドラッグジェスチャが開始され、ユーザーの操作に応答して次のイベントシーケンスが実行されます。

  • nativeDragStart イベント:NativeDragManager.doDrag() が呼び出されると、このメソッドにパラメーターとして渡されたインタラクティブオブジェクトが開始元オブジェクトとなって、nativeDragStart イベントが送出されます。
  • nativeDragUpdate イベント:ドラッグが進行している間、開始元オブジェクトによって継続的に nativeDragUpdate イベントが送出されます。
  • nativeDragEnter イベント、nativeDragOver イベント:ドラッグジェスチャがインタラクティブオブジェクトの上を通ると、nativeDragEnter イベントが送出されます。ドラッグジェスチャがインタラクティブオブジェクトの上で止まっている間、継続的に nativeDragOver イベントが送出されます。これらのイベントのいずれかに応答して、ドロップ可能ターゲットとして機能するオブジェクトがイベントオブジェクトのプロパティをチェックし、ドロップを受け入れ可能かどうかを判断します。データ形式と許可されたアクションが適切な場合、これらのイベントのイベントハンドラーで NativeDragManager.acceptDrop() を呼び出し、ドラッグターゲットとして機能する表示オブジェクト(通常、nativeDragEnter または nativeDragOver イベントを送出したオブジェクト)に参照を渡す必要があります。これで、ユーザーはドラッグしたアイテムをターゲットにドロップすることができます。
  • nativeDragExit イベント — ドラッグジェスチャがインタラクティブオブジェクトからなくなると、オブジェクトによって nativeDragExit イベントが送出されます。オブジェクトが NativeDragManager.acceptDrop() メソッドに対する前の呼び出しでドラッグターゲットとして指定されていた場合、その呼び出しは無効になり、ジェスチャが再びインタラクティブオブジェクトに入った場合は acceptDrop() をもう一度呼び出す必要があります。
  • nativeDragDrop イベント — オブジェクトの上でユーザーがマウスボタンを離すと、ターゲット表示オブジェクトによって nativeDragDrop イベントが送出されます。このイベントのハンドラーは、イベントオブジェクトの transferable プロパティのデータにアクセスできます。開始元オブジェクトで実行する必要のあるアクションを通知するには、NativeDragManager.dropAction プロパティを設定します。
  • nativeDragComplete — ドラッグジェスチャの最後でユーザーがマウスボタンを離すと、開始元オブジェクトによって nativeDragComplete イベントが送出されます(ドロップ自体が完了したかどうか)。このイベントのハンドラーは、イベントオブジェクトの dropAction プロパティをチェックして、リストからドラッグされたアイテムの削除など、内部のデータ状態に対して実行する必要のある変更があるかどうかを確認できます。 dropActionNativeDragActions.NONE の場合、ドラッグしたアイテムが適切なターゲットにドロップされなかったことを示します。

アプリケーション間のジェスチャ

ドラッグジェスチャが AIR 以外のアプリケーションから AIR アプリケーションウィンドウに入った場合、nativeDragStart イベントまたは nativeDragComplete イベントを送出する開始元オブジェクトはありません。その他の点では、ジェスチャを実行中のイベントは、同じ AIR アプリケーション内で開始および終了するジェスチャと同じパターンに従って送出されます。

ドラッグジェスチャが AIR アプリケーションウィンドウの外に移動すると、nativeDragEnternativeDragOver または nativeDragDrop イベントを送出するターゲットオブジェクトはなくなります。開始元オブジェクトは引き続き nativeDragComplete イベントを送出し、ネイティブオペレーティングシステムによって設定されたドラッグアクションを通知します(ドロップが受け入れられなかった場合は none)。

ドラッグジェスチャがある AIR アプリケーションから別の AIR アプリケーションに移動すると、開始元オブジェクトとターゲット表示オブジェクトは、それぞれのアプリケーション内で通常と同じイベントを送出します。

情報の転送

ドラッグ & ドロップジェスチャの実行中に転送されるデータは Clipboard オブジェクトに格納されます。このデータオブジェクトは、NativeDragManager.doDrag() メソッドを使用して、ドラッグジェスチャを開始したドラッグ操作に追加されます。ドロップ可能ターゲットは、ネイティブドラッグイベントオブジェクトの clipboard プロパティを使用して Clipboard オブジェクトにアクセスできます。ドラッグ操作が一旦開始されると、Clipboard オブジェクトにアクセスできるのは NativeDragEvent のイベントハンドラーだけになります。その他のハンドラーからこのオブジェクトにアクセスすると、ランタイムエラーが生成されます。

セキュリティについての考慮事項

開始元オブジェクトおよびターゲットオブジェクトのセキュリティサンドボックスに応じて、ドラッグされているデータへのアクセス方法が決まります。両方のオブジェクトが同じサンドボックス内にある場合は、すべての NativeDragEvent オブジェクトからデータにアクセスできます。一方、開始元オブジェクトとターゲットオブジェクトが異なるサンドボックス内にある場合、データにアクセスできるのは nativeDragDrop イベントのイベントハンドラー内のターゲットサンドボックスだけです。他のネイティブドラッグイベントハンドラーは、イベントの clipboard プロパティで参照される Clipboard オブジェクトに引き続きアクセスし、利用可能なデータ形式を確認できますが、clipboard.getData() メソッドを呼び出すとセキュリティエラーが生成されます。

flash.events.NativeDragEventflash.desktop.NativeDragActionsflash.desktop.NativeDragOptionsflash.desktop.ClipboardacceptDragDrop 指定されたターゲットのインタラクティブオブジェクトが現在のドラッグイベントに対応するドロップを受け入れ可能であることを、NativeDragManager オブジェクトに通知します。targetflash.display:InteractiveObject 指定されたターゲットのインタラクティブオブジェクトが現在のドラッグイベントに対応するドロップを受け入れ可能であることを、NativeDragManager オブジェクトに通知します。

このメソッドは、指定されたターゲットオブジェクトに、ドラッグしたアイテムの少なくとも 1 つのデータ形式および少なくとも 1 つの許可されたアクションを処理できる nativeDragDrop ハンドラーがある場合にのみ呼び出す必要があります。

この機能は、nativeDragEnter イベントハンドラーまたは nativeDragOver イベントハンドラー内からのみ呼び出すことができます。

doDrag ドラッグ&ドロップ操作を開始します。dragInitiatorflash.display:InteractiveObject通常、ドラッグジェスチャを開始したオブジェクトです。nativeDragStart イベントと nativeDragComplete イベントを受け取ります。 clipboardflash.desktop:Clipboardドラッグされているデータのコンテナオブジェクトです。 dragImageflash.display:BitmapDatanullドラッグジェスチャの実行中にマウスポインターの下に表示される、オプションのプロキシイメージです。null の場合、プロキシイメージは表示されません。 offsetflash.geom:Pointnullマウスホットスポットとドラッグイメージの左上隅の間のオフセットです。負の座標では、イメージが上方向の、ホットスポットを基準としてその左側に移動します。null の場合、ドラッグイメージの左上隅が、マウスホットスポットの位置に配置されます。 allowedActionsflash.desktop:NativeDragOptionsnullこの操作に許可されるドラッグ & ドロップアクションを制限します。null の場合、すべてのアクションが許可されます。 ドラッグ&ドロップ操作を開始します。

ドラッグ操作を開始するには

  1. 新しい Clipboard オブジェクトを作成します。
  2. 転送するデータを 1 つ以上の形式で追加します。
  3. オプションで、ドラッグ中にプロキシイメージとして機能する BitmapData オブジェクトを作成します。
  4. オプションで、この操作で許可するアクションを制限する NativeDragOptions オブジェクトを作成します (allowedActions パラメーターを null のままにすると、すべてのアクションが許可されます)。
  5. NativeDragManager.doDrag() を呼び出します。

開始元オブジェクトは、このメソッドが呼び出された後に nativeDragStart イベント、ドラッグが進行中の間には nativeDragStart イベント、ユーザーがマウスボタンを離してドラッグジェスチャを終了したときに nativeDragComplete イベントを送出します。nativeDragComplete イベントのハンドラーは、イベントの dropAction プロパティをチェックして、ドラッグ & ドロップ操作が正常に完了したかどうかを判断できます。 dropActionNativeDragActions.NONE の場合、ドラッグしたアイテムが適切なターゲットにドロップされなかったことを示します。

このメソッドは、mouseDown イベントハンドラーまたは mouseMove イベントハンドラー内からのみ呼び出すことができます。(mouseMove イベントに応答して呼び出す場合は、マウスボタンも押す必要があります)。

flash.desktop.NativeDragActions
dragInitiator ドラッグ操作を開始した NativeDragManager.doDrag() 呼び出しに渡されるインタラクティブオブジェクトです。flash.display:InteractiveObject ドラッグ操作を開始した NativeDragManager.doDrag() 呼び出しに渡されるインタラクティブオブジェクトです。 dropAction ドロップターゲットによって指定されているドラッグアクションです。String ドロップターゲットによって指定されているドラッグアクションです。

dropAction プロパティは、nativeDragDrop イベントのハンドラーに設定する必要があります。dropActionnativeDragComplete よりも前に設定されていない場合、NativeDragManager はこの値を copy、move、link の順序のリストで最初に許可されているアクションに設定します。

flash.desktop.NativeDragActions
isDragging ドラッグ操作が現在進行中かどうかを報告します。Boolean ドラッグ操作が現在進行中かどうかを報告します。 isSupported 現在のプラットフォームで NativeDragManager クラスがサポートされている場合、isSupported プロパティは true に設定されます。サポートされていない場合は、false に設定されます。Booleanネイティブのドラッグ&ドロップ操作がサポートされているかどうかをレポートします。 現在のプラットフォームで NativeDragManager クラスがサポートされている場合、isSupported プロパティは true に設定されます。サポートされていない場合は、false に設定されます。
NativeDragOptions NativeDragOptions クラスは、ドラッグ & ドロップ操作で許可されるドラッグ & ドロップアクションの名前の定数を定義します。Object NativeDragOptions クラスは、ドラッグ & ドロップ操作で許可されるドラッグ & ドロップアクションの名前の定数を定義します。

ドラッグアクションは、開始オブジェクトとターゲットオブジェクトをドラッグ&ドロップ操作で連動して処理できるようにする、フィードバックメカニズムの一部です。これらのアクションは、オペレーティングシステムに対する単なるヒントに過ぎません。適切なビヘイビアーの実装は、トランザクションに含まれる、ドラッグの開始元オブジェクトとターゲットオブジェクトが行います。

開始オブジェクトは、そのオブジェクトがサポートするアクションのみを許可します。例えば、開始オブジェクトの内部ロジックで、ターゲットが move アクションでドロップ操作を受け入れてソースデータを削除するように指定されている場合にのみ、そのオブジェクトは move アクションを許可します。

新しい NativeDragOptions オブジェクトでは、すべてのプロパティが true(すべてのアクションを許可)に初期設定されています。

flash.desktop.NativeDragManagerflash.events.NativeDragEventtoString この NativeDragOptions オブジェクトの現在の設定を含むストリングを作成します。String このオブジェクトの現在の設定を含むストリング。 String この NativeDragOptions オブジェクトの現在の設定を含むストリングを作成します。 allowCopy ドロップターゲットでは、ドラッグしたデータのコピーが可能です。trueBoolean ドロップターゲットでは、ドラッグしたデータのコピーが可能です。 allowLink ドロップターゲットでは、ドラッグしたデータへのリンクの作成が可能です。trueBoolean ドロップターゲットでは、ドラッグしたデータへのリンクの作成が可能です。 allowMove ドロップターゲットでは、ドラッグしたデータの移動が可能です。trueBoolean ドロップターゲットでは、ドラッグしたデータの移動が可能です。
DockIcon DockIcon クラスは Mac OS X&#xAE; スタイルのドックアイコンを表します。Mac OS X スタイルのドックアイコンです。 flash.desktop:InteractiveIcon DockIcon クラスは、MacOS X® スタイルのドックアイコンを表します。

AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムでサポートされますが、モバイルデバイスまたはテレビ用 AIR デバイスではサポートされません。NativeApplication.supportsDockIcon プロパティを使用して、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。

DockIcon クラスを使用すると、例えば、アイコンをアニメーション化したり内容を表すグラフィックを追加して、標準のアイコンの外観を変更できます。また、ドックアイコンメニューにアイテムを追加することもできます。追加したメニューアイテムは、標準メニューアイテムの上に表示されます。

DockIcon クラスのインスタンスは作成できません。NativeApplication.icon からオペレーティングシステムドックアイコンを表すオブジェクトを取得します。

ドックアイコンのないオペレーティングシステムもあります。現在のシステムでドックアイコンがサポートされているかどうかを確認するには、NativeApplication.supportsDockIcon を調べます。ドックアイコンがサポートされている場合は、NativeApplication.icon プロパティのタイプが DockIcon に設定されています。サポートされていない場合、NativeApplication.icon のタイプは、InteractiveIcon の別のサブクラスである SystemTrayIcon などに設定されています。

重要: AIR がドックアイコンをサポートしていないオペレーティングシステムで NativeApplication.icon オブジェクトの DockIcon クラスのメソッドを呼び出そうとすると、ランタイム例外が生成されます。

次の例では、一連のイメージをロードし、ドックメニューアイコンを使用してタイマーが起動されたときに、アイコンイメージをアニメーション化します。この例を動作させるには、一連のアイコンイメージを用意し、imageURLs 配列の URL を変更する必要があります。 package { import flash.desktop.DockIcon; import flash.desktop.NativeApplication; import flash.display.Loader; import flash.display.NativeMenu; import flash.display.NativeMenuItem; import flash.display.Sprite; import flash.events.Event; import flash.events.TimerEvent; import flash.net.URLRequest; import flash.utils.Timer; public class AnimatedDockIcon extends Sprite { private var imageURLs:Array = ['gfx/frame01.png', 'gfx/frame02.png', 'gfx/frame03.png', 'gfx/frame04.png']; private var images:Array = new Array(); private var animTimer:Timer = new Timer(100); public function AnimatedDockIcon() { NativeApplication.nativeApplication.autoExit = false; addEventListener(Event.COMPLETE, loadImages); loadImages(); animTimer.addEventListener(TimerEvent.TIMER,advanceFrame); addMenu(); stage.nativeWindow.close(); } private function addMenu():void{ var menu:NativeMenu = new NativeMenu(); var start:NativeMenuItem = menu.addItem(new NativeMenuItem("Start animation")); var stop:NativeMenuItem = menu.addItem(new NativeMenuItem("Stop animation")); start.addEventListener(Event.SELECT, startTimer); stop.addEventListener(Event.SELECT, stopTimer); var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon; dockIcon.menu = menu; } private function startTimer(event:Event):void{ animTimer.start(); } private function stopTimer(event:Event):void{ animTimer.stop(); } private var currentFrame:int = 0; private function advanceFrame(event:Event):void{ if(currentFrame < images.length){ currentFrame++; } else { currentFrame = 0; } NativeApplication.nativeApplication.icon.bitmaps = [images[currentFrame]]; } private function loadImages(event:Event = null):void{ if(event != null){ images.push(event.target.content.bitmapData); } if(imageURLs.length > 0){ var urlString:String = imageURLs.pop(); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadImages, false, 0, true); loader.load(new URLRequest(urlString)); } else { var complete:Event = new Event(Event.COMPLETE,false,false); dispatchEvent(complete); } } } }
flash.desktop.NativeApplication.iconflash.desktop.NativeApplication.supportsDockIconflash.desktop.SystemTrayIconbounce 注意を要するイベントが発生したことをユーザーに通知します。NotificationType.Informational priorityStringinformationalドックがバウンドする緊急度です。 注意を要するイベントが発生したことをユーザーに通知します。

アプリケーションがバックグラウンドで動作している場合にのみ、このメソッドを呼び出すとドックアイコンがバウンドします。priorityNotificationType.Informational の場合、アイコンが 1 回バウンドします。priorityNotificationType.Critical の場合、アプリケーションがフォアグラウンドで実行されるまで、ドックアイコンがバウンドします。

次の例では、ユーザーがアプリケーションをアクティブ化するまでドックアイコンがバウンドします。 import flash.display.DockIcon; import flash.display.NotificationType; import flash.desktop.NativeApplication; if(NativeApplication.supportsDockIcon){ var dockIcon:DockIcon = NativeApplication.nativeApplication.icon As DockIcon; dockIcon.bounce(NotificationType.CRITICAL); }
flash.desktop.NotificationTypeflash.display.NativeWindow.notifyUser()
bitmaps 様々なサイズの BitmapData オブジェクトの配列としてのアイコンイメージです。Array様々なサイズの BitmapData オブジェクトの配列としてのアイコンイメージです。 様々なサイズの BitmapData オブジェクトの配列としてのアイコンイメージです。

指定されたオペレーティングシステムのコンテキストでアイコンを表示する場合、表示するサイズに最も近い配列のビットマップが使用されます(必要に応じて伸縮)。一般的なサイズには、16x16、32x32、48x48 および 128x128 があります (512x512 ピクセルのアイコンは、近い将来にいくつかのオペレーティングシステムアイコンで使用される可能性があります)。

一部のコンテキストでは、bitmaps プロパティに何も割り当てられていない場合、オペレーティングシステムがデフォルトのシステムアイコンを使用することがあります。他のコンテキストでは、アイコンは表示されません。

アイコンの外観を設定または変更するには、BitmapData オブジェクトの配列を bitmaps プロパティに割り当てます。

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

bitmaps 配列を直接変更しても効果はありません。

アイコンイメージを消去するには、bitmaps プロパティに空の配列を割り当てます。

注意:アイコン用のイメージファイルを読み込む場合、通常、最も適切なアルファブレンドが提供されるのは PNG ファイル形式です。GIF 形式は透明度のオンまたはオフのみをサポートし、ブレンドは行いません。JPG 形式は、透明度をまったくサポートしません。

height アイコンの現在の表示の高さです(ピクセル単位)。int アイコンの現在の表示の高さです(ピクセル単位)。

一部のアイコンのコンテキストでは、動的なサイズ調整がサポートされます。height プロパティは、現在のコンテキストの bitmaps 配列から選択されたアイコンの高さを示します。オペレーティングシステムによってアイコンが伸縮されている場合は、実際の表示の高さはこれとは異なります。

menu このドックアイコンのシステム指定のメニューです。flash.display:NativeMenu このドックアイコンのシステム指定のメニューです。

メニューのすべてのアイテムが、標準アイテムの上に表示されます。標準アイテムは変更および削除できません。

次の例では、アイテムをドックアイコンメニューに追加します。 import flash.desktop.NativeApplication; import flash.events.Event; private function createDockIconMenu():void{ if(NativeApplication.supportsDockIcon){ var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon; var dockMenu:NativeMenu = new NativeMenu(); var command:NativeMenuItem = dockMenu.addItem(new NativeMenuItem("Command")); command.addEventListener(Event.SELECT, onCommand); dockIcon.menu = dockMenu; } } private function onCommand(event:Event):void{ //do command... }
width アイコンの現在の表示幅です(ピクセル単位)。int アイコンの現在の表示幅です(ピクセル単位)。

一部のアイコンのコンテキストでは、動的なサイズ調整がサポートされます。width プロパティは、現在のコンテキストの bitmaps 配列から選択されたアイコンの幅を示します。オペレーティングシステムによってアイコンが伸縮されている場合は、実際の表示幅はこれとは異なります。

Icon Icon クラスは、オペレーティングシステムアイコンを表します。flash.events:EventDispatcher Icon クラスは、オペレーティングシステムアイコンを表します。

Icon オブジェクトには、BitmapData オブジェクトの配列の、bitmaps という 1 つのプロパティがあります。一度に 1 つのイメージのみ表示されます。オペレーティングシステムはアイコンの現在の表示サイズに最も近いサイズのイメージを選択し、必要に応じて伸縮します。

flash.filesystem.File.iconflash.display.BitmapDatabitmaps 様々なサイズの BitmapData オブジェクトの配列としてのアイコンイメージです。Array 様々なサイズの BitmapData オブジェクトの配列としてのアイコンイメージです。

指定されたオペレーティングシステムのコンテキストでアイコンを表示する場合、表示するサイズに最も近い配列のビットマップが使用されます(必要に応じて伸縮)。一般的なサイズには、16x16、32x32、48x48 および 128x128 があります (512x512 ピクセルのアイコンは、近い将来にいくつかのオペレーティングシステムアイコンで使用される可能性があります)。

一部のコンテキストでは、bitmaps プロパティに何も割り当てられていない場合、オペレーティングシステムがデフォルトのシステムアイコンを使用することがあります。他のコンテキストでは、アイコンは表示されません。

アイコンの外観を設定または変更するには、BitmapData オブジェクトの配列を bitmaps プロパティに割り当てます。

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

bitmaps 配列を直接変更しても効果はありません。

アイコンイメージを消去するには、bitmaps プロパティに空の配列を割り当てます。

注意:アイコン用のイメージファイルを読み込む場合、通常、最も適切なアルファブレンドが提供されるのは PNG ファイル形式です。GIF 形式は透明度のオンまたはオフのみをサポートし、ブレンドは行いません。JPG 形式は、透明度をまったくサポートしません。

flash.filesystem.File.iconflash.display.BitmapData