Erstellen von Fenstern

Adobe AIR 1.0 und höher

AIR erstellt automatisch das erste Fenster einer Anwendung, bei Bedarf können Sie jedoch weitere Fenster erstellen. Mithilfe der NativeWindow-Konstruktormethode können Sie ein natives Fenster erstellen.

Sie können ein HTML-Fenster entweder mithilfe der createRootWindow() -Methode von „HTMLLoader“ erstellen oder indem Sie von einem HTML-Dokument aus die window.open() -Methode von JavaScript aufrufen. Das erstellte Fenster ist ein NativeWindow-Objekt, dessen Anzeigeliste ein HTMLLoader-Objekt enthält. Das HTMLLoader-Objekt interpretiert den HTML- und JavaScript-Inhalt für das Fenster und zeigt ihn an. Über die window.nativeWindow -Eigenschaft haben Sie in JavaScript Zugriff auf die Eigenschaften des zugrundeliegenden NativeWindow-Objekts. (Auf diese Eigenschaft kann nur Code, der in der AIR-Anwendungs-Sandbox ausgeführt wird, zugreifen.)

Bei der Initialisierung eines Fensters (auch des ersten Anwendungsfensters) kann die folgende Vorgehensweise empfehlenswert sein: Erstellen Sie das Fenster im unsichtbaren Status, laden Sie den Inhalt oder führen Sie Grafikaktualisierungen durch und machen Sie das Fenster erst dann sichtbar. Durch diese Vorgehensweise wird vermieden, dass Benutzer visuelle Verzerrungen auf dem Bildschirm sehen. Um festzulegen, dass das erste Anwendungsfenster im unsichtbaren Status erstellt wird, geben Sie das <visible>false</visible> -Tag im Anwendungsdeskriptor an. (Sie können das Tag auch ganz weglassen, da der Standardwert false lautet.) Neue NativeWindows-Instanzen sind standardmäßig unsichtbar. Wenn Sie ein HTML-Fenster mit der HTMLLoader-Methode createRootWindow() erstellen, können Sie das visible -Argument auf false setzen. Um ein Fenster sichtbar zu machen, rufen Sie die NativeWindow-Methode activate() auf oder stellen Sie die visible -Eigenschaft auf true ein.

Festlegen von Initialisierungseigenschaften für Fenster

Die Initialisierungseigenschaften eines nativen Fensters können nicht mehr geändert werden, nachdem das Desktopfenster erstellt wurde. Zu diesen unveränderlichen Eigenschaften und ihren Standardwerten gehören:

Eigenschaft

Standardwert

systemChrome

standard

type

normal

transparent

false

owner

null

maximizable

true

minimizable

true

resizable

true

Legen Sie die Eigenschaften für das erste von AIR erstellte Fenster in der Anwendungsdeskriptordatei fest. Das Hauptfenster einer AIR-Anwendung weist für die type-Eigenschaft immer den Wert normal auf. (In der Anwendungsdeskriptordatei können Sie weitere Fenstereigenschaften, wie etwa visible , width und height angeben, aber diese Eigenschaften können jederzeit geändert werden.)

Mithilfe der NativeWindowInitOptions-Klasse können Sie Eigenschaften für andere native und HTML-Fenster, die mithilfe Ihrer Anwendung erstellt wurden, festlegen. Beim Erstellen eines Fensters müssen Sie ein NativeWindowInitOptions-Objekt, das die Fenstereigenschaften angibt, entweder an die NativeWindow-Konstruktorfunktion oder die createRootWindow() -Methode von „HTMLLoader“ übergeben .

Im folgenden Beispiel wird ein NativeWindowInitOptions-Objekt für ein Dienstprogrammfenster erstellt:

var options:NativeWindowInitOptions = new NativeWindowInitOptions(); 
options.systemChrome = NativeWindowSystemChrome.STANDARD; 
options.type = NativeWindowType.UTILITY 
options.transparent = false; 
options.resizable = false; 
options.maximizable = false; 

Die Einstellung von systemChrome auf standard , wenn transparent den Wert true oder type den Wert lightweight aufweist, wird nicht unterstützt .

Hinweis: Für ein Fenster, das mithilfe der window.open() -Funktion von JavaScript erstellt wurde, können Sie keine Initialisierungseigenschaften festlegen. Sie können jedoch außer Kraft setzen, wie diese Fenster erstellt werden, indem Sie Ihre eigene HTMLHost-Klasse implementieren. Weitere Informationen finden Sie unter Verarbeiten von JavaScript-Aufrufen von „window.open()“ .

Bei dem Erstellen eines Fensters mithilfe der mx:Window-Klasse von Flex müssen Sie die Initialisierungseigenschaften im Fensterobjekt selbst angeben, und zwar entweder in der MXML-Deklaration für das Fenster oder im Code, mit dem das Fenster erstellt wird. Das zugrundeliegende NativeWindow-Objekt wird nicht erstellt, bis Sie die open() -Methode aufrufen. Nachdem ein Fenster geöffnet wurde, können die Initialisierungseigenschaften nicht mehr geändert werden.

Erstellen des ursprünglichen Anwendungsfensters

AIR erstellt das ursprüngliche Anwendungsfenster anhand der in der Anwendungsdeskriptordatei angegebenen Eigenschaften und lädt die Datei, auf die im content-Element verwiesen wird. Das Inhaltselement muss auf eine SWF- oder HTML-Datei verweisen.

Beim ursprünglichen Fenster kann es sich um das Hauptfenster der Anwendung handeln, oder es kann lediglich dazu dienen, eines oder mehrere andere Fenster zu starten. Es muss nicht unbedingt sichtbar sein.

Erstellen des ursprünglichen Fensters mit ActionScript

Beim Erstellen einer AIR-Anwendung mithilfe von ActionScript muss die Hauptklasse der Anwendung die Sprite-Klasse (oder eine Unterklasse der Sprite-Klasse) erweitern. Diese Klasse dient als Hauptzugangspunkt für die Anwendung.

Beim Starten der Anwendung erstellt AIR ein Fenster und eine Instanz der Hauptklasse und fügt diese Instanz der Fensterbühne hinzu. Um auf das Fenster zuzugreifen, warten Sie auf das addedToStage -Ereignis und rufen anschließend mit der nativeWindow -Eigenschaft des Stage-Objekts einen Verweis auf das NativeWindow-Objekt ab.

Im folgenden Beispiel wird die grundlegende Struktur der Hauptklasse einer mithilfe von ActionScript erstellten AIR-Anwendung verdeutlicht:

package { 
    import flash.display.NativeWindow; 
    import flash.display.Sprite; 
    import flash.events.Event; 
 
    public class MainClass extends Sprite 
    { 
        private var mainWindow:NativeWindow; 
        public function MainClass(){ 
            this.addEventListener(Event.ADDED_TO_STAGE, initialize); 
        } 
         
        private function initialize(event:Event):void{ 
            mainWindow = this.stage.nativeWindow; 
            //perform initialization... 
            mainWindow.activate(); //show the window 
        } 
    } 
}
Hinweis: Technisch gesehen ist es möglich, auf die nativeWindow -Eigenschaft in der Konstruktorfunktion der Hauptklasse zuzugreifen. Dies ist jedoch ein besonderer Fall, der nur für das anfängliche Anwendungsfenster gilt.

Wenn Sie eine Anwendung in Flash Professional erstellen, wird die Hauptdokumentklasse automatisch erstellt, wenn Sie keine eigene in einer separaten ActionScript-Datei erstellen. Über die nativeWindow -Bühneneigenschaft haben Sie Zugriff auf das NativeWindow-Objekt für das anfängliche Fenster. Mit dem folgenden Code wird zum Beispiel das Hauptfenster im maximierten Zustand aufgerufen (von der Zeitleiste).

import flash.display.NativeWindow; 
 
var mainWindow:NativeWindow = this.stage.nativeWindow; 
mainWindow.maximize(); 
mainWindow.activate();

Erstellen des ursprünglichen Fensters mit Flex

Beim Erstellen einer AIR-Anwendung mit dem Flex-Framework verwenden Sie die mx:WindowedApplication-Komponente als Stammelement Ihrer MXML-Hauptdatei. (Sie können auch die mx:Application-Komponente verwenden, sie unterstützt jedoch nicht alle in AIR verfügbaren Funktionen.) Die WindowedApplication-Komponente dient als erster Zugangspunkt für die Anwendung.

Beim Starten der Anwendung erstellt AIR ein natives Fenster, initialisiert das Flex-Framework und fügt der Fensterbühne das WindowedApplication-Objekt hinzu. Im Anschluss an die Startsequenz löst „WindowedApplication“ ein applicationComplete -Ereignis aus. Mit der nativeWindow -Eigenschaft der WindowedApplication-Instanz können Sie auf das Desktopfensterobjekt zugreifen.

Im folgenden Beispiel wird eine einfache WindowedApplication-Komponente erstellt, mit der die x- und y-Koordinaten eingestellt werden:

<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"  
    applicationComplete="placeWindow()"> 
    <mx:Script> 
        <![CDATA[ 
            private function placeWindow():void{ 
                this.nativeWindow.x = 300; 
                this.nativeWindow.y = 300; 
            } 
        ]]> 
    </mx:Script> 
    <mx:Label text="Hello World" horizontalCenter="0" verticalCenter="0"/> 
</mx:WindowedApplication>

Erstellen eines „NativeWindow“

Um ein „NativeWindow“ zu erstellen, übergeben Sie ein NativeWindowInitOptions-Objekt an den NativeWindow-Konstruktor:

var options:NativeWindowInitOptions = new NativeWindowInitOptions(); 
options.systemChrome = NativeWindowSystemChrome.STANDARD; 
options.transparent = false; 
var newWindow:NativeWindow = new NativeWindow(options); 

Das Fenster wird erst angezeigt, wenn Sie die visible -Eigenschaft auf true einstellen oder die activate() -Methode aufrufen.

Nachdem das Fenster erstellt ist, können Sie seine Eigenschaften initialisieren und mithilfe der stage-Eigenschaft und Anzeigelistentechniken von Flash Inhalt in das Fenster laden.

In fast allen Fällen sollten Sie die stage- scaleMode -Eigenschaft eines neuen nativen Fensters auf noScale einstellen (mithilfe der StageScaleMode.NO_SCALE -Konstanten). Die Flash-Skalierungsmodi wurden für Situationen konzipiert, in denen dem Anwendungsautor im Voraus das Seitenverhältnis des Anzeigebereichs der Anwendung nicht bekannt ist. Die Skalierungsmodi ermöglichen es dem Autor, den am wenigsten nachteiligen Kompromiss zu wählen: den Inhalt beschneiden, dehnen oder quetschen oder mit leerem Raum auffüllen. Da Sie in AIR den Anzeigebereich (den Fensterrahmen) steuern, können Sie, ohne Kompromisse eingehen zu müssen, die Größe des Fensters an den Inhalt oder den Inhalt an das Fenster anpassen.

Bei Flex- und HTML-Fenstern ist der Skaliermodus automatisch auf noScale eingestellt.

Hinweis: Stellen Sie mithilfe der folgenden statischen NativeWindow-Eigenschaften fest, welche maximalen und minimalen Fenstergrößen unter dem gegenwärtigen Betriebssystem zulässig sind:
var maxOSSize:Point = NativeWindow.systemMaxSize; 
var minOSSize:Point = NativeWindow.systemMinSize; 

Erstellen eines HTML-Fensters

Sie können ein HTML-Fenster erstellen, indem Sie die Window.open() -Methode von JavaScript oder die createRootWindow() -Methode der AIR-HTMLLoader-Klasse aufrufen.

Mit HTML-Inhalt in einer Sicherheits-Sandbox können Sie die standardmäßige Window.open() -Methode von JavaScript verwenden. Wenn der Inhalt außerhalb von Anwendungs-Sandboxen ausgeführt wird, kann die open() -Methode nur auf eine Interaktion des Benutzers, wie etwa einen Mausklick oder einen Tastenanschlag, hin aufgerufen werden. Beim Aufrufen von open() wird ein Fenster mit System-Fensterdesign erstellt, indem der Inhalt der angegebenen URL angezeigt wird. Zum Beispiel:

newWindow = window.open("xmpl.html", "logWindow", "height=600, width=400, top=10, left=10");
Hinweis: Sie können die HTMLHost-Klasse in ActionScript erweitern, um das mit der window.open() -Funktion von JavaScript erstellte Fenster anzupassen. Siehe Erweitern der HTMLHost-Klasse .

Der Inhalt in der Sicherheits-Sandbox der Anwendung kann auf eine leistungsstärkere Methode zur Erstellung von Fenstern, und zwar HTMLLoader.createRootWindow() , zugreifen. Mithilfe dieser Methode können Sie alle Erstellungsoptionen für ein neues Fenster festlegen. Im folgenden Beispiel wird mit dem JavaScript-Code ein lightweight-Fenster ohne System-Fensterdesign mit einer Größe von 300 x 400 Pixel erstellt:

var options = new air.NativeWindowInitOptions(); 
options.systemChrome = "none"; 
options.type = "lightweight"; 
 
var windowBounds = new air.Rectangle(200,250,300,400); 
newHTMLLoader = air.HTMLLoader.createRootWindow(true, options, true, windowBounds); 
newHTMLLoader.load(new air.URLRequest("xmpl.html"));
Hinweis: Befindet sich der von einem neuen Fenster geladene Inhalt außerhalb der Sicherheits-Sandbox der Anwendung, verfügt das Window-Objekt nicht über die AIR-Eigenschaften runtime , nativeWindow und htmlLoader .

Wenn Sie ein transparentes Fenster erstellen, wird SWF-Inhalt, der in dem in diesem Fenster geladenen HTML-Code eingebettet ist, nicht immer angezeigt. Sie müssen den wmode -Parameter des object- oder embed-Tags, das zum Verweisen auf die SWF-Datei verwendet wird, auf opaque oder transparent einstellen. Da wmode standardmäßig auf window eingestellt ist, wird SWF-Inhalt standardmäßig nicht in transparenten Fenstern angezeigt. PDF-Inhalt kann unabhängig vom Wert für wmode nicht in transparenten Fenstern angezeigt werden. (Vor AIR 1.5.2 konnte auch SWF-Inhalt nicht in transparenten Fenstern angezeigt werden.)

Fenster, die mithilfe der createRootWindow() -Methode erstellt wurden, bleiben unabhängig vom öffnenden Fenster. Die parent - und opener -Eigenschaften des Window-Objekts von JavaScript lauten null . Das öffnende Fenster kann auf das Window-Objekt des neuen Fensters mithilfe der HTMLLoader-Referenz zugreifen, die von der createRootWindow() -Funktion zurückgegeben wurde. Im Kontext des vorausgegangenen Beispiels würde die newHTMLLoader.window -Anweisung auf das JavaScript-Window-Objekt des erstellten Fensters verweisen.

Hinweis: Die createRootWindow() -Funktion kann sowohl von JavaScript als auch von ActionScript aufgerufen werden.

Erstellen eines „mx:Window“

Um ein „mx:Window“ zu erstellen, erstellen Sie eine MXML-Datei, wobei „mx:Window“ als Haupt-Tag dient, oder Sie rufen den Window-Klassenkonstruktor direkt auf.

Im folgenden Beispiel wird ein „mx:Window“ durch Aufrufen des Window-Konstruktors erstellt und angezeigt:

var newWindow:Window = new Window(); 
newWindow.systemChrome = NativeWindowSystemChrome.NONE; 
newWindow.transparent = true; 
newWindow.title = "New Window"; 
newWindow.width = 200; 
newWindow.height = 200; 
newWindow.open(true);

Hinzufügen von Inhalt zu einem Fenster

Wie Sie einem AIR-Fenster Inhalt hinzufügen, hängt vom Fenstertyp ab. Mit MXML und HTML können Sie zum Beispiel den grundlegenden Inhalt des Fensters mit Aussagen definieren. Sie können Ressourcen in den SWF-Dateien der Anwendung einbetten oder Sie können sie aus separaten Anwendungsdateien laden. Flex-, Flash- und HTML-Inhalte können spontan erstellt und einem Fenster dynamisch hinzugefügt werden.

Wenn Sie SWF-Inhalt oder HTML-Inhalt, der JavaScript enthält, laden, müssen Sie das AIR-Sicherheitsmodell berücksichtigen. Sämtlicher Inhalt in der Sicherheits-Sandbox der Anwendung, d. h. Inhalt, der zusammen mir Ihrer Anwendung installiert wird und mit dem app:-URL-Schema geladen werden kann, verfügt über vollständige Zugriffsberechtigung für alle AIR-APIs. Inhalt, der von außerhalb dieser Sandbox geladen wird, kann nicht auf AIR-APIs zugreifen. JavaScript-Inhalt, der sich außerhalb der Anwendungs-Sandbox befindet, kann nicht auf die runtime -, nativeWindow - oder htmlLoader -Eigenschaften des Window-Objekts von JavaScript zugreifen.

Um sicheres Cross-Scripting zu ermöglichen, können Sie mithilfe einer Sandbox Bridge eine begrenzte Schnittstelle zwischen Anwendungsinhalt und anwendungsfremdem Inhalt bereitstellen. Bei HTML-Inhalt können Sie Seiten Ihrer Anwendung einer anwendungsfremden Sandbox zuordnen, um dem Code dieser Seite das Cross-Scripting mit externem Inhalt zu ermöglichen. Siehe AIR-Sicherheit .

Laden von SWF-Dateien oder Bildern

Mithilfe der flash.display.Loader -Klasse können Sie Flash-SWF-Dateien oder Bilder in die Anzeigeliste eines nativen Fensters laden:

package { 
    import flash.display.Sprite; 
    import flash.events.Event; 
    import flash.net.URLRequest; 
    import flash.display.Loader; 
 
    public class LoadedSWF extends Sprite 
    { 
        public function LoadedSWF(){ 
            var loader:Loader = new Loader(); 
            loader.load(new URLRequest("visual.swf"));                    
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadFlash); 
        } 
 
        private function loadFlash(event:Event):void{ 
            addChild(event.target.loader);  
        } 
    } 
}
Hinweis: Ältere SWF-Dateien, die mit ActionScript 1 oder 2 erstellt wurden, verwenden gemeinsame Zustände wie Klassendefinitionen, Singletons und globale Variablen, wenn Sie in dasselbe Fenster geladen werden. Wenn eine solche SWF-Datei nur bei unveränderten globalen Zuständen richtig funktioniert, kann sie immer nur einmal in dasselbe Fenster geladen werden. Andernfalls wird sie in dasselbe Fenster als andere SWF-Datei mit überlappenden Klassendefinitionen und Variablen geladen. Dieser Inhalt kann in separate Fenster geladen werden.

Laden von HTML-Inhalt in ein „NativeWindow“

Es gibt zwei Möglichkeiten, um HTML-Inhalt in ein „NativeWindow“ zu laden. Sie können ein HTMLLoader-Objekt zur Fensterbühne hinzufügen und den HTML-Inhalt in das HTMLLoader-Objekt laden. Mithilfe der HTMLLoader.createRootWindow() -Methode können Sie jedoch auch ein Fenster erstellen, das bereits ein HTMLLoader-Objekt enthält. Im folgenden Beispiel wird HTML-Inhalt auf der Bühne eines nativen Fensters in einem Anzeigebereich von 300  x 500 Pixel angezeigt:

//newWindow is a NativeWindow instance 
var htmlView:HTMLLoader = new HTMLLoader(); 
htmlView.width = 300; 
htmlView.height = 500; 
 
//set the stage so display objects are added to the top-left and not scaled 
newWindow.stage.align = "TL"; 
newWindow.stage.scaleMode = "noScale"; 
newWindow.stage.addChild( htmlView ); 
 
//urlString is the URL of the HTML page to load 
htmlView.load( new URLRequest(urlString) );

Mithilfe der Flex-HTML-Komponente können Sie eine HTML-Seite in eine Flex-Anwendung laden.

SWF-Inhalt in HTML-Dateien wird nicht in transparenten Fenstern angezeigt (das heißt, die transparent -Eigenschaft des Fensters ist true ), es sei denn, der wmode -Parameter des object- oder embed-Tags, mit dem auf die SWF-Datei verwiesen wird, ist auf opaque oder transparent eingestellt. Da wmode standardmäßig auf window eingestellt ist, wird SWF-Inhalt standardmäßig nicht in transparenten Fenstern angezeigt. PDF-Inhalt wird unabhängig vom Wert für wmode nicht in einem transparenten Fenster angezeigt.

Außerdem wird weder SWF- noch PDF-Inhalt angezeigt, wenn die HTMLLoader-Steuerung skaliert oder gedreht ist oder wenn die alpha -Eigenschaft von HTMLLoader auf einen anderen Wert als 1.0 eingestellt ist.

Hinzufügen von SWF-Inhalt als Überlagerung zu einem HTML-Fenster

Da HTML-Fenster in einer NativeWindow-Instanz enthalten sind, können Sie in der Anzeigeliste Flash-Anzeigobjekte sowohl über als auch unter der HTML-Ebene hinzufügen.

Um ein Anzeigeobjekt über der HTML-Ebene hinzuzufügen, verwenden Sie die addChild() -Methode der window.nativeWindow.stage -Eigenschaft. Mithilfe der addChild() -Methode fügen Sie ebenenbasierten Inhalt über dem im Fenster enthaltenen Inhalt hinzu.

Um ein Anzeigeobjekt unter der HTML-Ebene hinzuzufügen, verwenden Sie die addChildAt() -Methode der window.nativeWindow.stage -Eigenschaft und übergeben den Wert „0“ für den index -Parameter. Wenn Sie ein Objekt an der Indexposition „0“ platzieren, wird der vorhandene Inhalt, einschließlich der HTML-Anzeige, um eine Ebene nach oben verschoben und der neue Inhalt unten eingefügt. Inhalt, der sich in Ebenen unterhalb der HTML-Seite befindet, ist nur sichtbar, wenn Sie die paintsDefaultBackground -Eigenschaft des HTMLlLoader -Objekts auf false einstellen. Darüber hinaus sind alle Elemente der Seite, für die eine Hintergrundfarbe eingestellt ist, nicht transparent. Wenn Sie beispielsweise für das body-Element der Seite eine Hintergrundfarbe einstellen, ist kein Teil der Seite transparent.

Das folgende Beispiel verdeutlicht, wie Sie Flash-Anzeigeobjekte über und unter einer HTML-Seite hinzufügen. In diesem Beispiel werden zwei einfache shape-Objekte erstellt, wobei eines unter und das andere über dem HTML-Inhalt hinzugefügt wird. Außerdem wird anhand des enterFrame -Ereignisses die shape-Position aktualisiert.

<html> 
<head> 
<title>Bouncers</title> 
<script src="AIRAliases.js" type="text/javascript"></script> 
<script language="JavaScript" type="text/javascript"> 
air.Shape = window.runtime.flash.display.Shape; 
 
function Bouncer(radius, color){ 
    this.radius = radius; 
    this.color = color; 
 
    //velocity  
    this.vX = -1.3; 
    this.vY = -1; 
 
    //Create a Shape object and draw a circle with its graphics property 
    this.shape = new air.Shape();     
    this.shape.graphics.lineStyle(1,0); 
    this.shape.graphics.beginFill(this.color,.9); 
    this.shape.graphics.drawCircle(0,0,this.radius); 
    this.shape.graphics.endFill(); 
     
    //Set the starting position 
    this.shape.x = 100; 
    this.shape.y = 100; 
 
 
    //Moves the sprite by adding (vX,vY) to the current position 
    this.update = function(){ 
        this.shape.x += this.vX; 
        this.shape.y += this.vY; 
         
        //Keep the sprite within the window 
        if( this.shape.x - this.radius < 0){  
            this.vX = -this.vX; 
        } 
        if( this.shape.y - this.radius < 0){ 
            this.vY = -this.vY; 
        } 
        if( this.shape.x  + this.radius > window.nativeWindow.stage.stageWidth){ 
            this.vX = -this.vX; 
        } 
        if( this.shape.y  + this.radius > window.nativeWindow.stage.stageHeight){ 
            this.vY = -this.vY; 
        } 
         
    }; 
} 
 
function init(){ 
    //turn off the default HTML background 
    window.htmlLoader.paintsDefaultBackground = false; 
    var bottom = new Bouncer(60,0xff2233); 
    var top = new Bouncer(30,0x2441ff); 
 
    //listen for the enterFrame event 
    window.htmlLoader.addEventListener("enterFrame",function(evt){ 
        bottom.update(); 
        top.update(); 
    }); 
     
    //add the bouncing shapes to the window stage 
    window.nativeWindow.stage.addChildAt(bottom.shape,0); 
    window.nativeWindow.stage.addChild(top.shape); 
} 
</script> 
<body onload="init();"> 
<h1>de Finibus Bonorum et Malorum</h1> 
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium 
doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis 
et quasi architecto beatae vitae dicta sunt explicabo.</p> 
<p style="background-color:#FFFF00; color:#660000;">This paragraph has a background color.</p> 
<p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis 
praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias 
excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui 
officia deserunt mollitia animi, id est laborum et dolorum fuga.</p> 
</body> 
</html>

Dieses Beispiel dient als rudimentäre Einführung in einige erweiterte Techniken, die die Grenzen zwischen JavaScript und ActionScript in AIR überschreiten. Wenn Sie mit der Verwendung von ActionScript-Anzeigeobjekten nicht vertraut sind, lesen Sie den Abschnitt Programmieren von Anzeigeobjekten im ActionScript 3.0 Entwicklerhandbuch .

Beispiel: Erstellen eines nativen Fensters

Im folgenden Beispiel wird verdeutlicht, wie Sie ein natives Fenster erstellen:

public function createNativeWindow():void { 
    //create the init options 
    var options:NativeWindowInitOptions = new NativeWindowInitOptions(); 
    options.transparent = false; 
    options.systemChrome = NativeWindowSystemChrome.STANDARD; 
    options.type = NativeWindowType.NORMAL; 
     
    //create the window 
    var newWindow:NativeWindow = new NativeWindow(options); 
    newWindow.title = "A title"; 
    newWindow.width = 600; 
    newWindow.height = 400; 
     
    newWindow.stage.align = StageAlign.TOP_LEFT; 
    newWindow.stage.scaleMode = StageScaleMode.NO_SCALE; 
 
    //activate and show the new window 
    newWindow.activate(); 
}